{
  "openapi": "3.0.0",
  "info": {
    "title": "Delphix DCT API",
    "description": "Delphix DCT API",
    "x-logo": {
      "url": "./logo-delphix-reg.png"
    },
    "contact": {
      "name": "Delphix Support",
      "url": "https://portal.perforce.com/s/",
      "email": "support@delphix.com"
    },
    "version": "3.18.0"
  },
  "externalDocs": {
    "description": "External docs",
    "url": "https://help.delphix.com/dct/"
  },
  "servers": [
    {
      "url": "/dct/v3"
    }
  ],
  "paths": {
    "/connectors/{connectorId}/test": {
      "post": {
        "tags": [
          "Connectors"
        ],
        "summary": "Checks connectivity between a masking engine and a remote data source.",
        "operationId": "connectors_test",
        "parameters": [
          {
            "$ref": "#/components/parameters/connectorIdParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/ConnectorTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances": {
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Register a Hyperscale instance",
        "operationId": "register_hyperscale_instance",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_instance",
                "$ref": "#/components/schemas/HyperscaleInstanceRegistrationParameter"
              }
            }
          },
          "description": "The parameters to register a Hyperscale instance.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/HyperscaleInstance"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Returns a list of Hyperscale instances.",
        "operationId": "get_hyperscale_instances",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleInstancesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListHyperscaleInstancesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleInstance"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/search": {
      "post": {
        "summary": "Search for Hyperscale instances.",
        "operationId": "search_hyperscale_instances",
        "tags": [
          "HyperscaleInstance"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "hostname": {
              "type": "string"
            },
            "creation_date": {
              "type": "string"
            },
            "data_type": {
              "type": "string"
            },
            "insecure_ssl": {
              "type": "boolean"
            },
            "unsafe_ssl_hostname_check": {
              "type": "boolean"
            },
            "truststore_filename": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "connection_status": {
              "type": "string"
            },
            "connection_status_details": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleInstancesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchHyperscaleInstancesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleInstance"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Returns a Hyperscale Instance by ID.",
        "operationId": "get_hyperscale_instance_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/HyperscaleInstance"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Update an Hyperscale Instance",
        "operationId": "update_hyperscale_instance",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_instance_update_params",
                "$ref": "#/components/schemas/HyperscaleInstanceUpdateParams"
              }
            }
          },
          "description": "Update parameters for a hyperscale instance.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/HyperscaleInstance"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Unregister a Hyperscale Instance.",
        "operationId": "unregister_hyperscale_instance",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UnregisterHyperscaleInstanceResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Create tags for a Hyperscale Instance.",
        "operationId": "create_hyperscale_instance_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_instance_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Hyperscale Instance.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Get tags for a Hyperscale Instance.",
        "operationId": "get_hyperscale_instance_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Delete tags for a Hyperscale Instance.",
        "operationId": "delete_hyperscale_instance_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/sync-engines": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Sync the global object from a source engine to engines on a Hyperscale Instance.",
        "operationId": "sync_engines_hyperscale_instance",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "sync_engines_hyperscale_parameter",
                "$ref": "#/components/schemas/SyncEnginesHyperscaleParameters",
                "required": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SyncEnginesHyperscaleResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/add-engine": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Add an engine to a Hyperscale Instance.",
        "operationId": "add_engine_to_hyperscale_instance",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "engine_id",
                "$ref": "#/components/schemas/EngineIdBody"
              }
            }
          },
          "description": "Body containing the ID of the registered engine.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AddEngineToHyperscaleResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/remove-engine": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Remove an engine from a Hyperscale Instance.",
        "operationId": "remove_engine_from_hyperscale_instance",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "engine_id",
                "$ref": "#/components/schemas/EngineIdBody"
              }
            }
          },
          "description": "Body containing the ID of the registered engine.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RemoveEngineFromHyperscaleResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-mount-points": {
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Returns a list of Hyperscale Mount Points.",
        "operationId": "get_hyperscale_mount_points",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleMountPointsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListHyperscaleMountPointsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleMountPoint"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Create a Hyperscale Mount Point",
        "operationId": "create_hyperscale_mount_point",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_mount_point",
                "$ref": "#/components/schemas/HyperscaleMountPoint"
              }
            }
          },
          "description": "Request to create a Hyperscale Mount Point.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateHyperscaleMountPointResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The created Hyperscale Mount Point's ID"
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-mount-points/{hyperscaleMountPointId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleMountPointIdParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get a Hyperscale Mount Points.",
        "operationId": "get_hyperscale_mount_point_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleMountPoint"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Update a Hyperscale Mount Point by ID.",
        "operationId": "update_hyperscale_mount_point_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_hyperscale_mount_point_parameter",
                "$ref": "#/components/schemas/HyperscaleMountPointUpdateParameters"
              }
            }
          },
          "description": "The new data to update a Hyperscale Mount Point."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateHyperscaleMountPointResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Delete a Hyperscale Mount Point.",
        "operationId": "delete_hyperscale_mount_point",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteHyperscaleMountPointResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-mount-points/search": {
      "post": {
        "summary": "Search for Hyperscale Mount Points.",
        "operationId": "search_hyperscale_mount_points",
        "tags": [
          "HyperscaleObjects"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "hostname": {
              "type": "string"
            },
            "mount_type": {
              "type": "string"
            },
            "mount_path": {
              "type": "string"
            },
            "options": {
              "type": "string"
            },
            "staging_storage_type": {
              "type": "string"
            },
            "auth_mechanism": {
              "type": "string"
            },
            "aws_bucket_name": {
              "type": "string"
            },
            "aws_bucket_region": {
              "type": "string"
            },
            "aws_bucket_prefix": {
              "type": "string"
            },
            "aws_bucket_delimiter": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleMountPointsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchHyperscaleMountPointsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleMountPoint"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-connectors": {
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Returns a list of Hyperscale Connectors.",
        "operationId": "get_hyperscale_connectors",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleConnectorsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListHyperscaleConnectorsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleConnector"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Create a Hyperscale Connector.",
        "operationId": "create_hyperscale_connector",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_connector",
                "$ref": "#/components/schemas/HyperscaleConnectorCreateParameters"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateHyperscaleConnectorResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The created Hyperscale Connector's ID."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-connectors/{hyperscaleConnectorId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleConnectorIdParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get a Hyperscale Connector.",
        "operationId": "get_hyperscale_connector_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleConnector"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Update a Hyperscale Connector by ID.",
        "operationId": "update_hyperscale_connector_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_hyperscale_connector_parameter",
                "$ref": "#/components/schemas/HyperscaleConnectorUpdateParameters"
              }
            }
          },
          "description": "The new data to update a Hyperscale Connector."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateHyperscaleConnectorResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Delete a Hyperscale Connector.",
        "operationId": "delete_hyperscale_connector",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteHyperscaleConnectorResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-connectors/{hyperscaleConnectorId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleConnectorIdParam"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Create tags for a Hyperscale Connector.",
        "operationId": "create_hyperscale_connector_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_connector_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tag information for a Hyperscale Connector.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get tags for a Hyperscale Connector.",
        "operationId": "get_hyperscale_connector_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-connectors/{hyperscaleConnectorId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleConnectorIdParam"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Delete tags for a Hyperscale Connector.",
        "operationId": "delete_hyperscale_connector_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/hyperscale-connectors/search": {
      "post": {
        "summary": "Search for Hyperscale Connectors.",
        "operationId": "search_hyperscale_connectors",
        "tags": [
          "HyperscaleObjects"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "data_type": {
              "type": "string"
            },
            "source_username": {
              "type": "string"
            },
            "source_jdbc_url": {
              "type": "string"
            },
            "source_mongo_url": {
              "type": "string"
            },
            "source_filesystem_path": {
              "type": "string"
            },
            "target_username": {
              "type": "string"
            },
            "target_jdbc_url": {
              "type": "string"
            },
            "target_mongo_url": {
              "type": "string"
            },
            "target_filesystem_path": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleConnectorsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchHyperscaleConnectorsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleConnector"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets": {
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Returns a list of Hyperscale Datasets.",
        "operationId": "get_hyperscale_datasets",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleDatasetsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListHyperscaleDatasetsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleDataset"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get a Hyperscale Dataset.",
        "operationId": "get_hyperscale_dataset_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleDataset"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Update a Hyperscale Dataset by ID.",
        "operationId": "update_hyperscale_dataset_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_hyperscale_dataset_parameter",
                "$ref": "#/components/schemas/HyperscaleDatasetUpdateParameters"
              }
            }
          },
          "description": "The new data to update a Hyperscale Dataset."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateHyperscaleDatasetResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Create tags for a Hyperscale Dataset.",
        "operationId": "create_hyperscale_dataset_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_dataset_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tag information for a Hyperscale Dataset.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get tags for a Hyperscale Dataset.",
        "operationId": "get_hyperscale_dataset_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Delete tags for a Hyperscale Dataset.",
        "operationId": "delete_hyperscale_dataset_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}/tables-or-files/{hyperscaleDatasetTableOrFileId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        },
        {
          "$ref": "#/components/parameters/hyperscaleDatasetTableOrFileIdParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get a Hyperscale Dataset table or file by ID.",
        "operationId": "get_hyperscale_dataset_table_or_file_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleDatasetTableOrFile"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Update a Hyperscale Dataset table or file by ID.",
        "operationId": "update_hyperscale_dataset_table_or_file_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_hyperscale_dataset_table_or_file_parameter",
                "$ref": "#/components/schemas/HyperscaleDatasetTableOrFileUpdateParameters"
              }
            }
          },
          "description": "The new data to update a Hyperscale Dataset table or file."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateHyperscaleDatasetTableOrFileResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}/tables-or-files": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        },
        {
          "$ref": "#/components/parameters/limit"
        },
        {
          "$ref": "#/components/parameters/cursor"
        },
        {
          "$ref": "#/components/parameters/hyperscaleDatasetTablesOrFilesSortParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get the tables or files of a hyperscale dataset",
        "operationId": "get_hyperscale_dataset_tables_or_files",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListHyperscaleDatasetTablesOrFilesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleDatasetTableOrFile"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}/tables-or-files/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        },
        {
          "$ref": "#/components/parameters/limit"
        },
        {
          "$ref": "#/components/parameters/cursor"
        },
        {
          "$ref": "#/components/parameters/hyperscaleDatasetTablesOrFilesSortParam"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "schema_name": {
              "type": "string"
            },
            "table_name": {
              "type": "string"
            },
            "filter_key": {
              "type": "string"
            },
            "column_array_rows": {
              "type": "integer"
            },
            "unload_split": {
              "type": "integer"
            },
            "stream_size": {
              "type": "integer"
            },
            "masking_inventory": {
              "type": "array[object]",
              "fields": {
                "field_name": {
                  "type": "string"
                },
                "domain_name": {
                  "type": "string"
                },
                "algorithm_name": {
                  "type": "string"
                },
                "date_format": {
                  "type": "string"
                },
                "algorithm_field_name": {
                  "type": "string"
                },
                "algorithm_group_no": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "summary": "Search the tables or files of a hyperscale dataset",
        "operationId": "search_hyperscale_dataset_tables_or_files",
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchHyperscaleDatasetTablesOrFilesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleDatasetTableOrFile"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/search": {
      "post": {
        "summary": "Search for Hyperscale Datasets.",
        "operationId": "search_hyperscale_datasets",
        "tags": [
          "HyperscaleObjects"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "data_type": {
              "type": "string"
            },
            "mount_point_id": {
              "type": "string"
            },
            "connector_id": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleDatasetsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchHyperscaleDatasetsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleDataset"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/reporting/masking-execution-metrics": {
      "get": {
        "summary": "Get the masking execution metrics report.",
        "tags": [
          "Reporting"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingExecutionMetricsSortParam"
          }
        ],
        "operationId": "get_masking_execution_metrics_report",
        "responses": {
          "200": {
            "description": "Returns a list of Masking execution metrics.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MaskingExecutionMetricsReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingExecutionMetrics"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "id,masking_job_name,masking_job_type,connector_type,ruleset_name,rows_masked,rows_total,bytes_masked,bytes_total,duration,tables_files_count,\"masked_tables_files_count\",columns_fields_count,\"masked_columns_fields_count\"\n\"4ed2357d-f1a7-410c-b951-90f0edc1a0f6\",masking-job,STANDARD,ORACLE,customers,2,2,0,0,19430,1,1,2,2\n"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/masking-execution-metrics/search": {
      "post": {
        "summary": "Search the Masking execution metrics report.",
        "tags": [
          "Reporting"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "masking_job_name": {
              "type": "string"
            },
            "masking_job_type": {
              "type": "string"
            },
            "connector_type": {
              "type": "string"
            },
            "ruleset_name": {
              "type": "string"
            },
            "rows_masked": {
              "type": "integer"
            },
            "rows_total": {
              "type": "integer"
            },
            "bytes_masked": {
              "type": "integer"
            },
            "bytes_total": {
              "type": "integer"
            },
            "duration": {
              "type": "integer"
            },
            "tables_files_count": {
              "type": "integer"
            },
            "masked_tables_files_count": {
              "type": "integer"
            },
            "columns_fields_count": {
              "type": "integer"
            },
            "masked_columns_fields_count": {
              "type": "integer"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingExecutionMetricsSortParam"
          }
        ],
        "operationId": "search_masking_execution_metrics_report",
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "Search Masking execution metrics.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MaskingExecutionMetricsReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingExecutionMetrics"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "id,masking_job_name,connector_type,ruleset_name,rows_masked,rows_total,bytes_masked,bytes_total,duration,tables_files_count,\"masked_tables_files_count\",columns_fields_count,\"masked_columns_fields_count\"\n\"4ed2357d-f1a7-410c-b951-90f0edc1a0f6\",masking-job,ORACLE,customers,2,2,0,0,19430,1,1,2,2\n"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/engine-global-object-state-report": {
      "get": {
        "summary": "Get the masking engine global object state report.",
        "tags": [
          "Reporting"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/engineGlobalObjectStateReportSortParam"
          }
        ],
        "operationId": "get_engine_global_object_state_report",
        "responses": {
          "200": {
            "description": "Returns a list of GlobalObjectState data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "GetEngineGlobalObjectStateReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EngineGlobalObjectStateData"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "engine_id,engine_name,jobs_count,connectors_count,rulesets_count,global_object_revision_hash\n\"4ed2357d-f1a7-410c-b951-90f0edc1a0f6\",masking-engine-dev,10,25,25,\"dfb515e3d9727eebf499cb252b417efc926bad0b\"\n"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/engine-global-object-state-report/search": {
      "post": {
        "summary": "Search the masking engine global object state report.",
        "tags": [
          "Reporting"
        ],
        "x-filterable": {
          "fields": {
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "jobs_count": {
              "type": "integer"
            },
            "connectors_count": {
              "type": "integer"
            },
            "rulesets_count": {
              "type": "integer"
            },
            "global_object_revision_hash": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/engineGlobalObjectStateReportSortParam"
          }
        ],
        "operationId": "search_engine_global_object_state_report",
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "Returns a list of searched GlobalObjectState data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchEngineGlobalObjectStateReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EngineGlobalObjectStateData"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "engine_id,engine_name,jobs_count,connectors_count,rulesets_count,global_object_revision_hash\n\"4ed2357d-f1a7-410c-b951-90f0edc1a0f6\",masking-engine-dev,10,25,25,\"dfb515e3d9727eebf499cb252b417efc926bad0b\"\n"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/data-risk-report": {
      "get": {
        "summary": "Get the masking data risk report.",
        "tags": [
          "Reporting"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dataRiskReportSortParam"
          }
        ],
        "operationId": "get_data_risk_report",
        "responses": {
          "200": {
            "description": "Returns a list of DataRisk data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "GetDataRiskReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DataRiskData"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    },
                    "totals": {
                      "$ref": "#/components/schemas/DataRiskReportTotals"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "connector_id,connector_name,engine_id,engine_name,is_profiled,is_sensitive_data,is_masked,is_at_risk\n\"4ed2357d-f1a7-410c-b951-90f0edc1a0f6\",my-connector,\"dfb515e3d9727eebf499cb252b417efc926bad0b\",my-engine,true,true,true,false\n"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/data-risk-report/search": {
      "post": {
        "summary": "Search the masking data risk report.",
        "tags": [
          "Reporting"
        ],
        "x-filterable": {
          "fields": {
            "connector_id": {
              "type": "string"
            },
            "engine_connector_id": {
              "type": "integer"
            },
            "connector_name": {
              "type": "string"
            },
            "connector_type": {
              "type": "string"
            },
            "last_profiled_date": {
              "type": "string"
            },
            "last_masked_date": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "is_profiled": {
              "type": "boolean"
            },
            "is_sensitive_data": {
              "type": "boolean"
            },
            "is_masked": {
              "type": "boolean"
            },
            "is_at_risk": {
              "type": "boolean"
            },
            "data_elements_total": {
              "type": "integer"
            },
            "data_elements_not_sensitive": {
              "type": "integer"
            },
            "data_elements_sensitive_masked": {
              "type": "integer"
            },
            "data_elements_sensitive_unmasked": {
              "type": "integer"
            },
            "records_total": {
              "type": "integer"
            },
            "records_not_sensitive": {
              "type": "integer"
            },
            "records_sensitive_masked": {
              "type": "integer"
            },
            "records_sensitive_unmasked": {
              "type": "integer"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dataRiskReportSortParam"
          }
        ],
        "operationId": "search_data_risk_report",
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "Returns a list of searched DataRisk data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchDataRiskReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DataRiskData"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    },
                    "totals": {
                      "$ref": "#/components/schemas/DataRiskReportTotals"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "connector_id,engine_connector_id,connector_name,engine_id,engine_name,is_profiled,is_sensitive_data,is_masked,is_at_risk\n\"1-DATABASE-15\",15,my-connector,\"1\",my-engine,true,true,true,false\n"
                }
              }
            }
          }
        }
      }
    },
    "/classifiers": {
      "get": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Retrieve classifiers.",
        "operationId": "get_classifiers",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/classifiersSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifiersListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Classifier"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/search": {
      "post": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Search for classifiers.",
        "operationId": "search_classifiers",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "framework": {
              "type": "string",
              "enum": [
                "REGEX",
                "LIST",
                "PATH",
                "DATA_TYPE"
              ]
            },
            "description": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/classifiersSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifiersSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Classifier"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/{classifierId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/classifierIdParam"
        }
      ],
      "get": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Get a classifier by ID.",
        "operationId": "get_classifier_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Classifier"
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/{classifierId}/discovery-policies": {
      "parameters": [
        {
          "$ref": "#/components/parameters/classifierIdParam"
        }
      ],
      "get": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Get discovery policies for a classifier.",
        "operationId": "get_classifier_discovery_policies",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryPoliciesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPoliciesListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryPolicy"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/{classifierId}/discovery-policies/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/classifierIdParam"
        }
      ],
      "post": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Search discovery policies for a classifier.",
        "operationId": "search_classifier_discovery_policies",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "discovery_method": {
              "type": "string",
              "enum": [
                "CLASSIFIERS",
                "EXPRESSIONS"
              ]
            },
            "assignment_threshold": {
              "type": "integer"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryPoliciesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPoliciesSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryPolicy"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/{classifierId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/classifierIdParam"
        }
      ],
      "get": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Get tags for a classifier.",
        "operationId": "get_classifier_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Create tags for a classifier.",
        "operationId": "create_classifier_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "classifier_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for classifier.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Classifier tags created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/{classifierId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/classifierIdParam"
        }
      ],
      "post": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Delete tags for a classifier.",
        "operationId": "delete_classifier_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/connectors": {
      "get": {
        "tags": [
          "Connectors"
        ],
        "summary": "Retrieve the list of masking connectors.",
        "operationId": "get_connectors",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/connectorsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListConnectorsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Connector"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve a masking Connector by ID.",
        "operationId": "get_connector_by_id",
        "tags": [
          "Connectors"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connector"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update a masking Connector by ID.",
        "operationId": "update_connector_by_id",
        "tags": [
          "Connectors"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_connector_parameter",
                "$ref": "#/components/schemas/ConnectorUpdateParameters"
              }
            }
          },
          "description": "The new data to update a masking Connector."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateConnectorResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/masking-jobs/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "post": {
        "tags": [
          "Connectors"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "is_on_the_fly_masking": {
              "type": "boolean"
            },
            "last_execution_time": {
              "type": "string"
            },
            "last_execution_status": {
              "type": "string"
            },
            "creation_date": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            },
            "connector_role": {
              "type": "string",
              "enum": [
                "SOURCE",
                "TARGET"
              ]
            }
          }
        },
        "summary": "Search jobs that use this connector",
        "operationId": "search_connector_jobs",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/jobWithConnectorSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListConnectorsMaskingJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingJobWithConnectorRole"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "post": {
        "tags": [
          "Connectors"
        ],
        "summary": "Create tags for a Connector.",
        "operationId": "create_connector_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "connector_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Connector.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Connectors"
        ],
        "summary": "Get tags for a Connector.",
        "operationId": "get_connector_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "post": {
        "tags": [
          "Connectors"
        ],
        "summary": "Delete tags for a Connector.",
        "operationId": "delete_connector_tag",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/connectors/search": {
      "post": {
        "summary": "Search for masking Connectors.",
        "operationId": "search_connectors",
        "tags": [
          "Connectors"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "platform": {
              "type": "string"
            },
            "database_type": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "hostname": {
              "type": "string"
            },
            "username": {
              "type": "string"
            },
            "port": {
              "type": "integer"
            },
            "auth_present": {
              "type": "boolean"
            },
            "custom_driver_name": {
              "type": "string"
            },
            "database_name": {
              "type": "string"
            },
            "instance_name": {
              "type": "string"
            },
            "jdbc": {
              "type": "string"
            },
            "schema_name": {
              "type": "string"
            },
            "sid": {
              "type": "string"
            },
            "kerberos_auth": {
              "type": "boolean"
            },
            "service_principal": {
              "type": "string"
            },
            "enable_logger": {
              "type": "boolean"
            },
            "file_type": {
              "type": "string"
            },
            "connection_mode": {
              "type": "string"
            },
            "path": {
              "type": "string"
            },
            "ssh_key": {
              "type": "string"
            },
            "user_dir_is_root": {
              "type": "boolean"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/connectorsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchConnectorsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Connector"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes": {
      "get": {
        "tags": [
          "Data Classes"
        ],
        "summary": "Retrieve the list of Data Classes.",
        "operationId": "get_data_classes",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dataClassesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataClassesListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DataClass"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/search": {
      "post": {
        "tags": [
          "Data Classes"
        ],
        "summary": "Search for Data Classes.",
        "operationId": "search_data_classes",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "default_algorithm_id": {
              "type": "string"
            },
            "default_algorithm_name": {
              "type": "string"
            },
            "default_token_algorithm_id": {
              "type": "string"
            },
            "default_token_algorithm_name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "example": {
              "type": "string"
            },
            "revision_hash": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dataClassesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataClassesSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DataClass"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "get": {
        "tags": [
          "Data Classes"
        ],
        "summary": "Get a Data Class by ID.",
        "operationId": "get_data_class_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataClass"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Data Classes"
        ],
        "summary": "Update a Data Class.",
        "operationId": "update_data_class",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "data_class_update_params",
                "$ref": "#/components/schemas/DataClassUpdateParams"
              }
            }
          },
          "description": "Update the description and/or example for a Data Class.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Data Class update initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataClassUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}/algorithms": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "get": {
        "tags": [
          "Data Classes"
        ],
        "summary": "Retrieve the list of algorithms for a Data Class.",
        "operationId": "get_data_class_algorithms",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/algorithmsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListAlgorithmsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Algorithm"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}/algorithms/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "post": {
        "tags": [
          "Data Classes"
        ],
        "summary": "Search for algorithms of a Data Class.",
        "operationId": "search_data_class_algorithms",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "framework_name": {
              "type": "string"
            },
            "framework_id": {
              "type": "string"
            },
            "plugin_name": {
              "type": "string"
            },
            "plugin_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "revision_hash": {
              "type": "string"
            },
            "create_date": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/algorithmsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchAlgorithmsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Algorithm"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "get": {
        "tags": [
          "Data Classes"
        ],
        "summary": "Get tags for a Data Class.",
        "operationId": "get_data_class_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Data Classes"
        ],
        "summary": "Create tags for a Data Class.",
        "operationId": "create_data_class_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "data_class_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Data Class.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Data Class tags created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "post": {
        "tags": [
          "Data Classes"
        ],
        "summary": "Delete tags for a Data Class.",
        "operationId": "delete_data_class_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/discovery-policies": {
      "get": {
        "tags": [
          "Discovery Policies"
        ],
        "summary": "Retrieve discovery policies.",
        "operationId": "get_discovery_policies",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryPoliciesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPoliciesListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryPolicy"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/search": {
      "post": {
        "tags": [
          "Discovery Policies"
        ],
        "summary": "Search for discovery policies.",
        "operationId": "search_discovery_policies",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "discovery_method": {
              "type": "string",
              "enum": [
                "CLASSIFIERS",
                "EXPRESSIONS"
              ]
            },
            "assignment_threshold": {
              "type": "integer"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryPoliciesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPoliciesSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryPolicy"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "get": {
        "tags": [
          "Discovery Policies"
        ],
        "summary": "Get a discovery policy by ID.",
        "operationId": "get_discovery_policy_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryPolicy"
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/classifiers": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "get": {
        "tags": [
          "Discovery Policies"
        ],
        "summary": "Get classifiers for a discovery policy.",
        "operationId": "get_discovery_policy_classifiers",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/classifiersSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifiersListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Classifier"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/classifiers/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "post": {
        "tags": [
          "Discovery Policies"
        ],
        "summary": "Search for classifiers of a discovery policy.",
        "operationId": "search_discovery_policy_classifiers",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "framework": {
              "type": "string",
              "enum": [
                "REGEX",
                "LIST",
                "PATH",
                "DATA_TYPE"
              ]
            },
            "description": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/classifiersSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifiersSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Classifier"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/expressions": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "get": {
        "tags": [
          "Discovery Policies"
        ],
        "summary": "Get discovery expressions for a discovery policy.",
        "operationId": "get_discovery_policy_expressions",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryExpressionsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryExpressionsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryExpression"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/expressions/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "post": {
        "tags": [
          "Discovery Policies"
        ],
        "summary": "Search for discovery expressions of a discovery policy.",
        "operationId": "search_discovery_policy_expressions",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "regular_expression": {
              "type": "string"
            },
            "data_level_profiling": {
              "type": "boolean"
            },
            "min_data_length": {
              "type": "integer"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "data_type": {
              "type": "string",
              "enum": [
                "String",
                "Number",
                "Date",
                "Binary"
              ]
            },
            "expression_type": {
              "type": "string",
              "enum": [
                "SEARCH",
                "TYPE"
              ]
            },
            "level": {
              "type": "string",
              "enum": [
                "DATA",
                "COLUMN",
                "TYPE"
              ]
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryExpressionsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryExpressionsSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryExpression"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "get": {
        "tags": [
          "Discovery Policies"
        ],
        "summary": "Get tags for a discovery policy.",
        "operationId": "get_discovery_policy_tags",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Discovery Policies"
        ],
        "summary": "Create tags for a discovery policy.",
        "operationId": "create_discovery_policy_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "discovery_policy_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for discovery policy.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Discovery Policy tags created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "post": {
        "tags": [
          "Discovery Policies"
        ],
        "summary": "Delete tags for a discovery policy.",
        "operationId": "delete_discovery_policy_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/executions": {
      "get": {
        "tags": [
          "Executions"
        ],
        "summary": "Retrieve the list of masking executions.",
        "operationId": "get_executions",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListExecutionsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Execution"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/search": {
      "post": {
        "tags": [
          "Executions"
        ],
        "summary": "Search masking executions.",
        "operationId": "search_executions",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "masking_job_id": {
              "type": "string"
            },
            "masking_job_name": {
              "type": "string"
            },
            "source_connector_id": {
              "type": "string"
            },
            "target_connector_id": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "rows_masked": {
              "type": "integer"
            },
            "rows_total": {
              "type": "integer"
            },
            "bytes_processed": {
              "type": "integer"
            },
            "bytes_total": {
              "type": "integer"
            },
            "start_time": {
              "type": "string"
            },
            "submit_time": {
              "type": "string"
            },
            "end_time": {
              "type": "string"
            },
            "run_duration": {
              "type": "integer"
            },
            "queue_duration": {
              "type": "integer"
            },
            "total_duration": {
              "type": "integer"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "task_events": {
              "type": "array[object]",
              "fields": {
                "event": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                }
              }
            },
            "hyperscale_task_events": {
              "type": "array[object]",
              "fields": {
                "name": {
                  "type": "string"
                },
                "progress": {
                  "type": "number"
                },
                "status": {
                  "type": "string"
                },
                "processed_objects": {
                  "type": "integer"
                },
                "processed_rows": {
                  "type": "integer"
                },
                "total_constraints": {
                  "type": "integer"
                },
                "processed_indexes": {
                  "type": "integer"
                },
                "total_indexes": {
                  "type": "integer"
                },
                "processed_triggers": {
                  "type": "integer"
                },
                "total_triggers": {
                  "type": "integer"
                },
                "start_time": {
                  "type": "string"
                },
                "end_time": {
                  "type": "string"
                },
                "errors": {
                  "type": "array[object]",
                  "fields": {
                    "table_name": {
                      "type": "string"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchExecutionsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Execution"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve an Execution by ID.",
        "operationId": "get_execution_by_id",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Execution"
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/cancel": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "summary": "Cancel an Execution.",
        "operationId": "cancel_execution",
        "tags": [
          "Executions"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "cancel_execution",
                "$ref": "#/components/schemas/ExecutionCancelParameters"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/executions/{executionId}/restart": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "summary": "Restart an Execution (Hyperscale only).",
        "operationId": "restart_execution",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "Masking job execution restarted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RestartExecutionResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/cleanup": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "summary": "Cleanup an Execution (Hyperscale only).",
        "operationId": "cleanup_execution",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "Masking job execution cleaned up.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CleanupExecutionResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/events": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve the list of events for a masking execution.",
        "operationId": "get_execution_events",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionEventsSortParam"
          }
        ],
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListExecutionEventsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExecutionEvent"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/events/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "tags": [
          "Executions"
        ],
        "summary": "Search masking executions events.",
        "operationId": "search_execution_events",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionEventsSortParam"
          }
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "execution_id": {
              "type": "string"
            },
            "execution_component_id": {
              "type": "string"
            },
            "event_type": {
              "type": "string"
            },
            "severity": {
              "type": "string"
            },
            "cause": {
              "type": "string"
            },
            "count": {
              "type": "integer"
            },
            "timestamp": {
              "type": "string"
            },
            "masked_object_name": {
              "type": "string"
            },
            "algorithm_name": {
              "type": "string"
            },
            "exception_type": {
              "type": "string"
            },
            "exception_detail": {
              "type": "string"
            }
          }
        },
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchExecutionEventsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExecutionEvent"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/log": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve the masking execution log.",
        "operationId": "get_execution_log",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExecutionLog"
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/execution-components": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Get execution components for an execution.",
        "operationId": "get_execution_components",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionComponentsSortParam"
          }
        ],
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExecutionComponentsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExecutionComponent"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/execution-components/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "tags": [
          "Executions"
        ],
        "summary": "Search execution components for an execution.",
        "operationId": "search_execution_components",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionComponentsSortParam"
          }
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "execution_id": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "rows_masked": {
              "type": "integer"
            },
            "rows_total": {
              "type": "integer"
            },
            "bytes_processed": {
              "type": "integer"
            },
            "bytes_total": {
              "type": "integer"
            },
            "start_time": {
              "type": "string"
            },
            "end_time": {
              "type": "string"
            },
            "non_conforming_data_count": {
              "type": "integer"
            }
          }
        },
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExecutionComponentsSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExecutionComponent"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/execution-components/{executionComponentId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        },
        {
          "$ref": "#/components/parameters/executionComponentIdParam"
        }
      ],
      "get": {
        "summary": "Get an execution component by ID.",
        "operationId": "get_execution_component_by_id",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExecutionComponent"
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/execution-components/{executionComponentId}/log": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        },
        {
          "$ref": "#/components/parameters/executionComponentIdParam"
        }
      ],
      "get": {
        "summary": "Get an execution component log.",
        "operationId": "get_execution_component_log",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExecutionComponentLog"
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/discovery-results": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve the list of discovery results for a masking execution.",
        "operationId": "get_discovery_results",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryResultSortParam"
          }
        ],
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListDiscoveryResultsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/discoveryResult"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/discovery-results/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "tags": [
          "Executions"
        ],
        "summary": "Search discovery results associated with execution of a discovery job",
        "operationId": "search_discovery_results",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryResultSortParam"
          }
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "integer"
            },
            "table_name": {
              "type": "string"
            },
            "file_name": {
              "type": "string"
            },
            "column_name": {
              "type": "string"
            },
            "field_name": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "algorithm_name": {
              "type": "string"
            },
            "data_type": {
              "type": "string"
            },
            "confidence": {
              "type": "integer"
            },
            "is_profiler_writable": {
              "type": "boolean"
            }
          }
        },
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchDiscoveryResultsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/discoveryResult"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads": {
      "get": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Retrieve the list of masking file uploads.",
        "operationId": "get_masking_files",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingFilesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingFilesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingFileUpload"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads/{maskingFileId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingFileIdParam"
        }
      ],
      "patch": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Update a masking file upload by id.",
        "operationId": "update_masking_file_upload_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MaskingFileUploadUpdateParameters"
              }
            }
          },
          "description": "The new data to update a masking file upload."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingFileUpload"
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "Get a masking file by ID or name.",
        "operationId": "get_masking_file_by_id",
        "tags": [
          "MaskingFiles"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingFileUpload"
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads/search": {
      "post": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Search for masking files.",
        "operationId": "search_masking_files",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "filename": {
              "type": "string"
            },
            "file_size": {
              "type": "string"
            },
            "file_checksum": {
              "type": "string"
            },
            "created_date": {
              "type": "string"
            },
            "engine_file_uuid": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingFilesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingFilesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingFileUpload"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads/{maskingFileId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingFileIdParam"
        }
      ],
      "get": {
        "summary": "Get tags for a masking file.",
        "operationId": "get_masking_file_tags",
        "tags": [
          "MaskingFiles"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "parameters": [
          {
            "$ref": "#/components/parameters/maskingFileIdParam"
          }
        ],
        "summary": "Create tags for a masking file.",
        "operationId": "create_masking_file_tags",
        "tags": [
          "MaskingFiles"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "masking_file_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for masking file upload.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Masking file tags created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads/{maskingFileId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingFileIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Delete tags for a masking file",
        "operationId": "delete_masking_file_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/masking-file-uploads/{maskingFileId}/consumers": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingFileIdParam"
        }
      ],
      "get": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Get all consumers associated with this masking file",
        "operationId": "get_masking_file_consumers",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/ConsumersSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingFileConsumersResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Consumer"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads/{maskingFileId}/consumers/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingFileIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Search consumers of a masking file.",
        "operationId": "search_masking_file_consumers",
        "x-filterable": {
          "fields": {
            "parent_id": {
              "type": "string"
            },
            "parent_type": {
              "type": "string"
            },
            "parent_name": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/ConsumersSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingFileConsumersResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Consumer"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs": {
      "get": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Retrieve the list of masking jobs.",
        "operationId": "get_masking_jobs",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingJobsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingJob"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Create a Masking Job.",
        "operationId": "create_masking_job",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "create_job_request",
                "$ref": "#/components/schemas/CreateMaskingJobRequest"
              }
            }
          },
          "description": "Input params to create a masking job.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateMaskingJobResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created masking job."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated DCT job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/search": {
      "post": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Search masking jobs.",
        "operationId": "search_masking_jobs",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "is_on_the_fly_masking": {
              "type": "boolean"
            },
            "creation_date": {
              "type": "string"
            },
            "last_completed_execution_date": {
              "type": "string"
            },
            "last_execution_status": {
              "type": "string"
            },
            "last_execution_id": {
              "type": "string"
            },
            "connector_username": {
              "type": "string"
            },
            "on_the_fly_source_connector_username": {
              "type": "string"
            },
            "rule_set_id": {
              "type": "string"
            },
            "rule_set_name": {
              "type": "string"
            },
            "ruleset.connector_id": {
              "type": "string"
            },
            "ruleset.type": {
              "type": "string"
            },
            "ruleset.name": {
              "type": "string"
            },
            "ruleset.refresh_drops_table": {
              "type": "boolean"
            },
            "ruleset.algorithms": {
              "type": "array[string]"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "dataset_id": {
              "type": "string"
            },
            "retain_execution_data": {
              "type": "string"
            },
            "max_memory": {
              "type": "integer"
            },
            "min_memory": {
              "type": "integer"
            },
            "feedback_size": {
              "type": "integer"
            },
            "stream_row_limit": {
              "type": "integer"
            },
            "num_input_streams": {
              "type": "integer"
            },
            "max_concurrent_source_connections": {
              "type": "integer"
            },
            "max_concurrent_target_connections": {
              "type": "integer"
            },
            "parallelism_degree": {
              "type": "integer"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingJobsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingJob"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/source-engines": {
      "get": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Retrieve the list of masking jobs along with their source engine.",
        "operationId": "get_masking_job_source_engines",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingJobSourceEnginesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingJobSourceEnginesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingJobSourceEngine"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/source-engines/search": {
      "post": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Search the list of masking jobs along with their source engine.",
        "operationId": "search_masking_job_source_engines",
        "x-filterable": {
          "fields": {
            "masking_job_id": {
              "type": "string"
            },
            "source_engine_id": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingJobSourceEnginesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingJobSourceEnginesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingJobSourceEngine"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "delete": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Delete a masking job.",
        "operationId": "delete_masking_job",
        "parameters": [
          {
            "$ref": "#/components/parameters/maskingJobDeleteForceParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Masking job delete initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteMaskingJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "deprecated": true,
        "summary": "Retrieve a MaskingJob by ID.",
        "operationId": "get_masking_job_by_id",
        "tags": [
          "MaskingJobs"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingJob"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update values of a MaskingJob.",
        "operationId": "update_masking_job_by_id",
        "tags": [
          "MaskingJobs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMaskingJobParameters"
              }
            }
          },
          "description": "The new data to update a Masking Job."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingJob"
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/copy": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Copies the masking job to another engine.",
        "operationId": "copy_masking_job",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "copy_masking_job_params",
                "$ref": "#/components/schemas/CopyMaskingJobParameters"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Copy masking job initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CopyMaskingJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    },
                    "masking_job_id": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/migrate": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Migrates the masking job from its current source engine to another engine.",
        "operationId": "migrate_masking_job",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "migrate_masking_job_params",
                "$ref": "#/components/schemas/MigrateMaskingJobParameters"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Migrate masking job initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MigrateMaskingJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/connectors": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "get": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Get connectors for a Masking Job by ID.",
        "operationId": "get_masking_job_connectors",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/MaskingJobConnectorsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/execute": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "deprecated": true,
        "summary": "Execute a MaskingJob.",
        "operationId": "execute_masking_job",
        "tags": [
          "MaskingJobs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecuteMaskingJobParameters"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Masking job execute initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExecuteMaskingJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/re-import": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Re-import the dataset from the source MaskingJob (Hyperscale Job only).",
        "operationId": "re_import_masking_job",
        "responses": {
          "200": {
            "description": "Masking job re-import initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ReImportMaskingJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Create tags for a Masking Job.",
        "operationId": "create_masking_job_tag",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "masking_job_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Masking Job.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Get tags for a Masking Job.",
        "operationId": "get_masking_job_tag",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Delete tags for a Masking Job.",
        "operationId": "delete_masking_job_tag",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/add-engine": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Add an engine to a Masking Job (Hyperscale Job only).",
        "operationId": "add_engine_to_masking_job",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "engine_id",
                "$ref": "#/components/schemas/EngineIdBody"
              }
            }
          },
          "description": "Body containing the ID of the registered engine.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AddEngineToJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/remove-engine": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Remove an engine from a Masking Job (Hyperscale Job only).",
        "operationId": "remove_engine_from_masking_job",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "engine_id",
                "$ref": "#/components/schemas/EngineIdBody"
              }
            }
          },
          "description": "Body containing the ID of the registered engine.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RemoveEngineFromJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/algorithms": {
      "get": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Retrieve the list of algorithms.",
        "operationId": "get_algorithms",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/algorithmsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListAlgorithmsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Algorithm"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/{algorithmId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "get": {
        "summary": "Get an algorithm by ID.",
        "operationId": "get_algorithm_by_id",
        "tags": [
          "Algorithms"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Algorithm"
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/search": {
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Search for algorithms.",
        "operationId": "search_algorithms",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "framework_name": {
              "type": "string"
            },
            "framework_id": {
              "type": "string"
            },
            "plugin_name": {
              "type": "string"
            },
            "plugin_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "revision_hash": {
              "type": "string"
            },
            "create_date": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/algorithmsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchAlgorithmsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Algorithm"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/{algorithmId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "get": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Get tags for an Algorithm.",
        "operationId": "get_algorithm_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Create tags for an Algorithm.",
        "operationId": "create_algorithm_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "algorithm_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Algorithm.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Algorithm tags created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/{algorithmId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Delete tags for an Algorithm.",
        "operationId": "delete_algorithm_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/algorithms/{algorithmId}/dependencies": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        },
        {
          "$ref": "#/components/parameters/limit"
        },
        {
          "$ref": "#/components/parameters/cursor"
        },
        {
          "$ref": "#/components/parameters/dependenciesSortParam"
        }
      ],
      "get": {
        "summary": "Get dependencies of an algorithm by ID.",
        "operationId": "get_algorithm_dependencies_by_id",
        "tags": [
          "Algorithms"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListAlgorithmDependenciesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Dependency"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/{algorithmId}/dependencies/search": {
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Search for algorithm dependencies.",
        "operationId": "search_algorithm_dependencies",
        "x-filterable": {
          "fields": {
            "child_id": {
              "type": "string"
            },
            "child_name": {
              "type": "string"
            },
            "child_type": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/algorithmIdParam"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dependenciesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchAlgorithmDependenciesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Dependency"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-environments": {
      "get": {
        "tags": [
          "MaskingEnvironments"
        ],
        "summary": "Retrieve the list of masking environments.",
        "operationId": "get_masking_environments",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingEnvironmentsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingEnvironmentsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingEnvironment"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-environments/search": {
      "post": {
        "tags": [
          "MaskingEnvironments"
        ],
        "summary": "Search masking environments.",
        "operationId": "search_masking_environments",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "purpose": {
              "type": "string"
            },
            "is_workflow_enabled": {
              "type": "boolean"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingEnvironmentsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingEnvironmentsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingEnvironment"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-environments/{maskingEnvironmentId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingEnvironmentId"
        }
      ],
      "get": {
        "summary": "Retrieve a MaskingEnvironment by ID.",
        "operationId": "get_masking_environment_by_id",
        "tags": [
          "MaskingEnvironments"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingEnvironment"
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets": {
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Retrieve the list of Rule Sets.",
        "operationId": "get_rule_sets",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/ruleSetsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RuleSet"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/search": {
      "post": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Search for Rule Sets.",
        "operationId": "search_rule_sets",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "platform": {
              "type": "string"
            },
            "connector_id": {
              "type": "string"
            },
            "connector_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "data_elements_total": {
              "type": "integer"
            },
            "data_elements_sensitive": {
              "type": "integer"
            },
            "records_total": {
              "type": "integer"
            },
            "records_sensitive": {
              "type": "integer"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/ruleSetsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetsSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RuleSet"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Get a Rule Set by ID.",
        "operationId": "get_rule_set_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuleSet"
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Get tags for a Rule Set.",
        "operationId": "get_rule_set_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Create tags for a Rule Set.",
        "operationId": "create_rule_set_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "rule_set_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Rule Set.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Rule Set tags created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Delete tags for a Rule Set.",
        "operationId": "delete_rule_set_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/database-table-metadata": {
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Retrieve table metadata.",
        "operationId": "get_database_table_metadata",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/databaseTableMetadataSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseTableMetadataListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DatabaseTableMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/database-table-metadata/search": {
      "post": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Search table metadata.",
        "operationId": "search_database_table_metadata",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "table_name": {
              "type": "string"
            },
            "rule_set_id": {
              "type": "string"
            },
            "rule_set_name": {
              "type": "string"
            },
            "custom_sql": {
              "type": "string"
            },
            "where_clause": {
              "type": "string"
            },
            "having_clause": {
              "type": "string"
            },
            "key_column": {
              "type": "string"
            },
            "is_sensitive": {
              "type": "boolean"
            },
            "row_count": {
              "type": "integer"
            },
            "last_refresh_time": {
              "type": "string"
            },
            "last_row_count_time": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/databaseTableMetadataSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseTableMetadataSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DatabaseTableMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/database-column-metadata": {
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Retrieve column metadata.",
        "operationId": "get_database_column_metadata",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/databaseColumnMetadataSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseColumnMetadataListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DatabaseColumnMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/database-column-metadata/search": {
      "post": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Search column metadata.",
        "operationId": "search_database_column_metadata",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "integer"
            },
            "column_name": {
              "type": "string"
            },
            "database_table_metadata_id": {
              "type": "integer"
            },
            "table_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "rule_set_id": {
              "type": "string"
            },
            "rule_set_name": {
              "type": "string"
            },
            "algorithm_id": {
              "type": "string"
            },
            "algorithm_name": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "data_type": {
              "type": "string"
            },
            "date_format": {
              "type": "string"
            },
            "column_length": {
              "type": "integer"
            },
            "is_sensitive": {
              "type": "boolean"
            },
            "is_profiler_writable": {
              "type": "boolean"
            },
            "is_primary_key": {
              "type": "boolean"
            },
            "is_identity": {
              "type": "boolean"
            },
            "is_index": {
              "type": "boolean"
            },
            "is_foreign_key": {
              "type": "boolean"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/databaseColumnMetadataSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseColumnMetadataSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DatabaseColumnMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-expressions": {
      "get": {
        "tags": [
          "Discovery Expressions"
        ],
        "summary": "Retrieve discovery expressions.",
        "operationId": "get_discovery_expressions",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryExpressionsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryExpressionsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryExpression"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-expressions/search": {
      "post": {
        "tags": [
          "Discovery Expressions"
        ],
        "summary": "Search discovery expressions.",
        "operationId": "search_discovery_expressions",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "regular_expression": {
              "type": "string"
            },
            "data_level_profiling": {
              "type": "boolean"
            },
            "min_data_length": {
              "type": "integer"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "data_type": {
              "type": "string",
              "enum": [
                "String",
                "Number",
                "Date",
                "Binary"
              ]
            },
            "expression_type": {
              "type": "string",
              "enum": [
                "SEARCH",
                "TYPE"
              ]
            },
            "level": {
              "type": "string",
              "enum": [
                "DATA",
                "COLUMN",
                "TYPE"
              ]
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryExpressionsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryExpressionsSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryExpression"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-expressions/{expressionId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryExpressionIdParam"
        }
      ],
      "get": {
        "tags": [
          "Discovery Expressions"
        ],
        "summary": "Get a discovery expression by ID.",
        "operationId": "get_discovery_expression_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryExpression"
                }
              }
            }
          }
        }
      }
    },
    "/discovery-expressions/{expressionId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryExpressionIdParam"
        }
      ],
      "get": {
        "tags": [
          "Discovery Expressions"
        ],
        "summary": "Get tags for a discovery expression.",
        "operationId": "get_discovery_expression_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Discovery Expressions"
        ],
        "summary": "Create tags for a discovery expression.",
        "operationId": "create_discovery_expression_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "discovery_expression_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for discovery expression.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Discovery expression tags created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/discovery-expressions/{expressionId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryExpressionIdParam"
        }
      ],
      "post": {
        "tags": [
          "Discovery Expressions"
        ],
        "summary": "Delete tags for a discovery expression.",
        "operationId": "delete_discovery_expression_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/compliance-jobs": {
      "get": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Retrieve the list of compliance jobs.",
        "operationId": "get_compliance_jobs",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceJobsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListComplianceJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceJob"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jobs/search": {
      "post": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Search compliance jobs.",
        "operationId": "search_compliance_jobs",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "engine_job_id": {
              "type": "integer"
            },
            "type": {
              "type": "string"
            },
            "execution_type": {
              "type": "string"
            },
            "is_on_the_fly_masking": {
              "type": "boolean"
            },
            "creation_date": {
              "type": "string"
            },
            "last_completed_execution_date": {
              "type": "string"
            },
            "last_execution_status": {
              "type": "string"
            },
            "last_execution_id": {
              "type": "string"
            },
            "last_execution_start_time": {
              "type": "string"
            },
            "last_execution_run_time": {
              "type": "integer"
            },
            "connector_username": {
              "type": "string"
            },
            "on_the_fly_source_connector_username": {
              "type": "string"
            },
            "rule_set_id": {
              "type": "string"
            },
            "rule_set_name": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "dataset_id": {
              "type": "string"
            },
            "retain_execution_data": {
              "type": "string"
            },
            "max_memory": {
              "type": "integer"
            },
            "min_memory": {
              "type": "integer"
            },
            "feedback_size": {
              "type": "integer"
            },
            "stream_row_limit": {
              "type": "integer"
            },
            "num_input_streams": {
              "type": "integer"
            },
            "max_concurrent_source_connections": {
              "type": "integer"
            },
            "max_concurrent_target_connections": {
              "type": "integer"
            },
            "parallelism_degree": {
              "type": "integer"
            },
            "discovery_policy_id": {
              "type": "string"
            },
            "discovery_policy_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceJobsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchComplianceJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceJob"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jobs/{complianceJobId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve a compliance job by ID.",
        "operationId": "get_compliance_job_by_id",
        "tags": [
          "ComplianceJobs"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComplianceJob"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jobs/{complianceJobId}/connectors": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobIdParam"
        }
      ],
      "get": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Get connectors for a Masking Job by ID.",
        "operationId": "get_compliance_job_connectors",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/ComplianceJobConnectorsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jobs/{complianceJobId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Create tags for a compliance job.",
        "operationId": "create_compliance_job_tag",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_job_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Masking Job.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Get tags for a compliance job.",
        "operationId": "get_compliance_job_tag",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jobs/{complianceJobId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Delete tags for a compliance job.",
        "operationId": "delete_compliance_job_tag",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/compliance-jobs/{complianceJobId}/execute": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobIdParam"
        }
      ],
      "post": {
        "summary": "Execute a compliance.",
        "operationId": "execute_compliance_job",
        "tags": [
          "ComplianceJobs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecuteComplianceJobRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Compliance job execute initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExecuteComplianceJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "limit": {
        "name": "limit",
        "in": "query",
        "description": "Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.",
        "example": 50,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1000,
          "default": 100
        }
      },
      "limitExtendedParam": {
        "name": "limit",
        "in": "query",
        "description": "Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 10000.",
        "example": 100,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 10000,
          "default": 10000
        }
      },
      "cursor": {
        "name": "cursor",
        "in": "query",
        "description": "Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        }
      },
      "startDate": {
        "name": "start_date",
        "in": "query",
        "description": "Report start date/time. Defaults to first API request.",
        "example": "2022-05-29T15:00:00-04:00",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "endDate": {
        "name": "end_date",
        "in": "query",
        "description": "Report end date/time. Defaults to current time.",
        "example": "2022-06-07T15:10:00-04:00",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "maskingJobDeleteForceParam": {
        "name": "force",
        "in": "query",
        "description": "If true, ignores any failures to remove a masking job on an engine.",
        "example": true,
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "engineGlobalObjectStateReportSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "engine_id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "jobs_count",
            "-jobs_count",
            "connectors_count",
            "-connectors_count",
            "rulesets_count",
            "-rulesets_count",
            "global_object_revision_hash",
            "-global_object_revision_hash"
          ],
          "nullable": true,
          "example": "engine_id"
        }
      },
      "dataRiskReportSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "engine_id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "connector_id",
            "-connector_id",
            "engine_connector_id",
            "-engine_connector_id",
            "connector_name",
            "-connector_name",
            "connector_type",
            "-connector_type",
            "last_profiled_date",
            "-last_profiled_date",
            "last_masked_date",
            "-last_masked_date",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "is_profiled",
            "-is_profiled",
            "is_sensitive_data",
            "-is_sensitive_data",
            "is_masked",
            "-is_masked",
            "is_at_risk",
            "-is_at_risk",
            "data_elements_total",
            "-data_elements_total",
            "data_elements_not_sensitive",
            "-data_elements_not_sensitive",
            "data_elements_sensitive_masked",
            "-data_elements_sensitive_masked",
            "data_elements_sensitive_unmasked",
            "-data_elements_sensitive_unmasked",
            "records_total",
            "-records_total",
            "records_not_sensitive",
            "-records_not_sensitive",
            "records_sensitive_masked",
            "-records_sensitive_masked",
            "records_sensitive_unmasked",
            "-records_sensitive_unmasked"
          ],
          "nullable": true,
          "example": "engine_id"
        }
      },
      "hyperscaleInstanceIdParam": {
        "in": "path",
        "name": "hyperscaleInstanceId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Hyperscale Instance."
      },
      "hyperscaleInstancesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "hostname",
            "-hostname",
            "creation_date",
            "-creation_date",
            "status",
            "-status",
            "data_type",
            "-data_type",
            "connection_status",
            "-connection_status",
            "connection_status_details",
            "-connection_status_details"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "hyperscaleMountPointsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "hostname",
            "-hostname",
            "mount_type",
            "-mount_type",
            "options",
            "-options",
            "mount_path",
            "-mount_path",
            "staging_storage_type",
            "-staging_storage_type",
            "auth_mechanism",
            "-auth_mechanism",
            "aws_bucket_name",
            "-aws_bucket_name",
            "aws_bucket_region",
            "-aws_bucket_region",
            "aws_bucket_prefix",
            "-aws_bucket_prefix",
            "aws_bucket_delimiter",
            "-aws_bucket_delimiter",
            "hyperscale_instance_id",
            "-hyperscale_instance_id"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "hyperscaleConnectorsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "hyperscale_instance_id",
            "-hyperscale_instance_id",
            "data_type",
            "-data_type",
            "source_username",
            "-source_username",
            "source_jdbc_url",
            "-source_jdbc_url",
            "source_mongo_url",
            "-source_mongo_url",
            "target_username",
            "-target_username",
            "target_jdbc_url",
            "-target_jdbc_url",
            "target_mongo_url",
            "-target_mongo_url"
          ],
          "nullable": true,
          "example": "source_username"
        }
      },
      "hyperscaleDatasetsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "hyperscale_instance_id",
            "-hyperscale_instance_id",
            "data_type",
            "-data_type",
            "connector_id",
            "-connector_id",
            "mount_point_id",
            "-mount_point_id"
          ],
          "nullable": true,
          "example": "id"
        }
      },
      "hyperscaleDatasetTablesOrFilesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "schema_name",
            "-schema_name",
            "table_name",
            "-table_name",
            "database_name",
            "-database_name",
            "collection_name",
            "-collection_name",
            "filter_key",
            "-filter_key",
            "column_array_rows",
            "-column_array_rows",
            "unload_split",
            "-unload_split",
            "stream_size",
            "-stream_size"
          ],
          "nullable": true,
          "example": "table_name"
        }
      },
      "algorithmsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "description",
            "-description",
            "plugin_name",
            "-plugin_name",
            "framework_name",
            "-framework_name",
            "create_date",
            "-create_date",
            "engine_name",
            "-engine_name",
            "engine_id",
            "-engine_id",
            "revision_hash",
            "-revision_hash"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "classifiersSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "name",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "framework",
            "-framework",
            "description",
            "-description",
            "data_class_id",
            "-data_class_id",
            "data_class_name",
            "-data_class_name",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "databaseTableMetadataSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "table_name",
            "-table_name",
            "rule_set_id",
            "-rule_set_id",
            "custom_sql",
            "-custom_sql",
            "where_clause",
            "-where_clause",
            "having_clause",
            "-having_clause",
            "key_column",
            "-key_column",
            "is_sensitive",
            "-is_sensitive",
            "row_count",
            "-row_count",
            "last_refresh_time",
            "-last_refresh_time",
            "last_row_count_time",
            "-last_row_count_time",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name"
          ],
          "nullable": true,
          "example": "table_name"
        }
      },
      "databaseColumnMetadataSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "column_name",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "column_name",
            "-column_name",
            "database_table_metadata_id",
            "-database_table_metadata_id",
            "table_name",
            "-table_name",
            "rule_set_id",
            "-rule_set_id",
            "rule_set_name",
            "-rule_set_name",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "algorithm_id",
            "-algorithm_id",
            "algorithm_name",
            "-algorithm_name",
            "data_class_id",
            "-data_class_id",
            "data_class_name",
            "-data_class_name",
            "data_type",
            "-data_type",
            "date_format",
            "-date_format",
            "column_length",
            "-column_length",
            "is_sensitive",
            "-is_sensitive",
            "is_profiler_writable",
            "-is_profiler_writable",
            "is_primary_key",
            "-is_primary_key",
            "is_identity",
            "-is_identity",
            "is_index",
            "-is_index",
            "is_foreign_key",
            "-is_foreign_key"
          ],
          "nullable": true,
          "example": "column_name"
        }
      },
      "dependenciesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "child_id",
            "-child_id",
            "child_name",
            "-child_name",
            "child_type",
            "-child_type"
          ],
          "nullable": true,
          "example": "child_id"
        }
      },
      "dataClassesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "default_algorithm_id",
            "-default_algorithm_id",
            "default_algorithm_name",
            "-default_algorithm_name",
            "default_token_algorithm_id",
            "-default_token_algorithm_id",
            "default_token_algorithm_name",
            "-default_token_algorithm_name",
            "description",
            "-description",
            "example",
            "-example",
            "revision_hash",
            "-revision_hash",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name"
          ],
          "nullable": true
        }
      },
      "discoveryPoliciesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "description",
            "-description",
            "discovery_method",
            "-discovery_method",
            "assignment_threshold",
            "-assignment_threshold",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingJobsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "is_on_the_fly_masking",
            "-is_on_the_fly_masking",
            "creation_date",
            "-creation_date",
            "last_completed_execution_date",
            "-last_completed_execution_date",
            "last_execution_status",
            "-last_execution_status",
            "last_execution_id",
            "-last_execution_id",
            "rule_set_id",
            "-rule_set_id",
            "rule_set_name",
            "-rule_set_name",
            "ruleset.name",
            "-ruleset.name",
            "connector_type",
            "-connector_type",
            "description",
            "-description",
            "dataset_id",
            "-dataset_id",
            "retain_execution_data",
            "-retain_execution_data",
            "parallelism_degree",
            "-parallelism_degree",
            "max_concurrent_target_connections",
            "-max_concurrent_target_connections",
            "max_concurrent_source_connections",
            "-max_concurrent_source_connections",
            "num_input_streams",
            "-num_input_streams",
            "stream_row_limit",
            "-stream_row_limit",
            "feedback_size",
            "-feedback_size",
            "min_memory",
            "-min_memory",
            "max_memory",
            "-max_memory"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingFilesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "filename",
            "-filename",
            "created_date",
            "-created_date",
            "file_size",
            "-file_size",
            "file_checksum",
            "-file_checksum",
            "engine_file_uuid",
            "-engine_file_uuid",
            "engine_name",
            "-engine_name",
            "engine_id",
            "-engine_id",
            "description",
            "-description"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "ConsumersSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "parent_id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "parent_id",
            "-parent_id",
            "parent_type",
            "-parent_type",
            "parent_name",
            "-parent_name"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingExecutionMetricsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "masking_job_name",
            "-masking_job_name",
            "connector_type",
            "-connector_type",
            "ruleset_name",
            "-ruleset_name",
            "rows_masked",
            "-rows_masked",
            "rows_total",
            "-rows_total",
            "bytes_masked",
            "-bytes_masked",
            "bytes_total",
            "-bytes_total",
            "duration",
            "-duration",
            "tables_files_count",
            "-tables_files_count",
            "masked_tables_files_count",
            "-masked_tables_files_count",
            "columns_fields_count",
            "-columns_fields_count",
            "masked_columns_fields_count",
            "-masked_columns_fields_count",
            "masking_job_type",
            "-masking_job_type"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingEnvironmentsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "purpose",
            "-purpose",
            "is_workflow_enabled",
            "-is_workflow_enabled"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingJobSourceEnginesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "masking_job_id",
            "-masking_job_id",
            "source_engine_id",
            "-source_engine_id"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "executionsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "masking_job_id",
            "-masking_job_id",
            "masking_job_name",
            "-masking_job_name",
            "source_connector_id",
            "-source_connector_id",
            "target_connector_id",
            "-target_connector_id",
            "status",
            "-status",
            "rows_masked",
            "-rows_masked",
            "rows_total",
            "-rows_total",
            "bytes_processed",
            "-bytes_processed",
            "bytes_total",
            "-bytes_total",
            "start_time",
            "-start_time",
            "end_time",
            "-end_time",
            "submit_time",
            "-submit_time",
            "run_duration",
            "-run_duration",
            "queue_duration",
            "-queue_duration",
            "total_duration",
            "-total_duration",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name"
          ],
          "nullable": true,
          "example": "-start_time"
        }
      },
      "executionEventsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "execution_id",
            "-execution_id",
            "execution_component_id",
            "-execution_component_id",
            "event_type",
            "-event_type",
            "severity",
            "-severity",
            "cause",
            "-cause",
            "count",
            "-count",
            "timestamp",
            "-timestamp",
            "masked_object_name",
            "-masked_object_name",
            "algorithm_name",
            "-algorithm_name",
            "exception_type",
            "-exception_type",
            "exception_detail",
            "-exception_detail"
          ],
          "nullable": true,
          "example": "id"
        }
      },
      "executionComponentsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "execution_id",
            "-execution_id",
            "status",
            "-status",
            "rows_masked",
            "-rows_masked",
            "rows_total",
            "-rows_total",
            "bytes_processed",
            "-bytes_processed",
            "bytes_total",
            "-bytes_total",
            "start_time",
            "-start_time",
            "end_time",
            "-end_time",
            "non_conforming_data_count",
            "-non_conforming_data_count"
          ],
          "nullable": true,
          "example": "id"
        }
      },
      "connectorsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "type",
            "-type",
            "database_type",
            "-database_type",
            "platform",
            "-platform",
            "name",
            "-name",
            "hostname",
            "-hostname",
            "username",
            "-username",
            "port",
            "-port",
            "auth_present",
            "-auth_present",
            "custom_driver_name",
            "-custom_driver_name",
            "database_name",
            "-database_name",
            "instance_name",
            "-instance_name",
            "jdbc",
            "-jdbc",
            "schema_name",
            "-schema_name",
            "sid",
            "-sid",
            "kerberos_auth",
            "-kerberos_auth",
            "service_principal",
            "-service_principal",
            "enable_logger",
            "-enable_logger",
            "file_type",
            "-file_type",
            "connection_mode",
            "-connection_mode",
            "path",
            "-path",
            "ssh_key",
            "-ssh_key",
            "user_dir_is_root",
            "-user_dir_is_root"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "ruleSetsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "type",
            "-type",
            "platform",
            "-platform",
            "connector_id",
            "-connector_id",
            "connector_name",
            "-connector_name",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "data_elements_total",
            "-data_elements_total",
            "records_total",
            "-records_total"
          ],
          "nullable": true
        }
      },
      "complianceJobsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "is_on_the_fly_masking",
            "-is_on_the_fly_masking",
            "type",
            "-type",
            "execution_type",
            "-execution_type",
            "engine_job_id",
            "-engine_job_id",
            "creation_date",
            "-creation_date",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "last_completed_execution_date",
            "-last_completed_execution_date",
            "last_execution_status",
            "-last_execution_status",
            "last_execution_id",
            "-last_execution_id",
            "last_execution_start_time",
            "-last_execution_start_time",
            "last_execution_run_time",
            "-last_execution_run_time",
            "rule_set_id",
            "-rule_set_id",
            "rule_set_name",
            "-rule_set_name",
            "connector_type",
            "-connector_type",
            "description",
            "-description",
            "dataset_id",
            "-dataset_id",
            "retain_execution_data",
            "-retain_execution_data",
            "parallelism_degree",
            "-parallelism_degree",
            "max_concurrent_target_connections",
            "-max_concurrent_target_connections",
            "max_concurrent_source_connections",
            "-max_concurrent_source_connections",
            "num_input_streams",
            "-num_input_streams",
            "stream_row_limit",
            "-stream_row_limit",
            "feedback_size",
            "-feedback_size",
            "min_memory",
            "-min_memory",
            "max_memory",
            "-max_memory",
            "discovery_policy_id",
            "-discovery_policy_id",
            "discovery_policy_name",
            "-discovery_policy_name"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "discoveryResultSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "column_name",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "table_name",
            "-table_name",
            "file_name",
            "-file_name",
            "column_name",
            "-column_name",
            "field_name",
            "-field_name",
            "data_class_name",
            "-data_class_name",
            "algorithm_name",
            "-algorithm_name",
            "data_type",
            "-data_type",
            "confidence",
            "-confidence",
            "is_profiler_writable",
            "-is_profiler_writable"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "hyperscaleMountPointIdParam": {
        "in": "path",
        "name": "hyperscaleMountPointId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Hyperscale Mount Point."
      },
      "hyperscaleConnectorIdParam": {
        "in": "path",
        "name": "hyperscaleConnectorId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Hyperscale Connector."
      },
      "hyperscaleDatasetIdParam": {
        "in": "path",
        "name": "hyperscaleDatasetId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Hyperscale Dataset."
      },
      "hyperscaleDatasetTableOrFileIdParam": {
        "in": "path",
        "name": "hyperscaleDatasetTableOrFileId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Hyperscale Dataset table or file."
      },
      "hyperscaleInstanceId": {
        "in": "path",
        "name": "hyperscaleInstanceId",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "The ID of hyperscale instance."
      },
      "algorithmIdParam": {
        "in": "path",
        "name": "algorithmId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Algorithm."
      },
      "maskingPluginIdParam": {
        "in": "path",
        "name": "maskingPluginId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the masking plugin."
      },
      "dataClassIdParam": {
        "name": "dataClassId",
        "in": "path",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Data Class."
      },
      "discoveryPolicyIdParam": {
        "in": "path",
        "name": "discoveryPolicyId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Discovery Policy."
      },
      "maskingJobIdParam": {
        "in": "path",
        "name": "maskingJobId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Masking Job."
      },
      "maskingEnvironmentId": {
        "in": "path",
        "name": "maskingEnvironmentId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Masking Environment."
      },
      "executionIdParam": {
        "in": "path",
        "name": "executionId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Execution."
      },
      "executionComponentIdParam": {
        "in": "path",
        "name": "executionComponentId",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "The ID of the Execution Component."
      },
      "classifierIdParam": {
        "in": "path",
        "name": "classifierId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Classifier."
      },
      "connectorIdParam": {
        "in": "path",
        "name": "connectorId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Connector."
      },
      "ruleSetIdParam": {
        "in": "path",
        "name": "ruleSetId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Rule Set."
      },
      "discoveryExpressionIdParam": {
        "in": "path",
        "name": "expressionId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the discovery expression."
      },
      "databaseTableMetadataIdParam": {
        "in": "path",
        "name": "databaseTableMetadataId",
        "schema": {
          "type": "integer"
        },
        "required": true,
        "description": "The ID of the database table metadata."
      },
      "databaseColumnMetadataIdParam": {
        "in": "path",
        "name": "databaseColumnMetadataId",
        "schema": {
          "type": "integer"
        },
        "required": true,
        "description": "The ID of the database column metadata."
      },
      "maskingPluginsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "plugin_type",
            "-plugin_type",
            "description",
            "-description",
            "install_date",
            "-install_date",
            "built_in",
            "-built_in",
            "sdk_version",
            "-sdk_version",
            "version",
            "-version",
            "author",
            "-author"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingFileIdParam": {
        "in": "path",
        "name": "maskingFileId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID or name of the masking file."
      },
      "jobWithConnectorSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "connector_role",
            "-connector_role",
            "is_on_the_fly_masking",
            "-is_on_the_fly_masking",
            "last_execution_time",
            "-last_execution_time",
            "last_execution_status",
            "-last_execution_status",
            "creation_date",
            "-creation_date"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "discoveryExpressionsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "regular_expression",
            "-regular_expression",
            "data_level_profiling",
            "-data_level_profiling",
            "min_data_length",
            "-min_data_length",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "data_class_id",
            "-data_class_id",
            "data_class_name",
            "-data_class_name",
            "data_type",
            "-data_type",
            "expression_type",
            "-expression_type",
            "level",
            "-level"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "complianceJobIdParam": {
        "in": "path",
        "name": "complianceJobId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the compliance job."
      }
    },
    "schemas": {
      "Job": {
        "description": "An asynchronous task.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Job entity ID.",
            "type": "string",
            "example": "job-123"
          },
          "status": {
            "description": "The status of the job.",
            "type": "string",
            "enum": [
              "PENDING",
              "STARTED",
              "TIMEDOUT",
              "RUNNING",
              "CANCELED",
              "FAILED",
              "SUSPENDED",
              "WAITING",
              "COMPLETED",
              "ABANDONED"
            ],
            "example": "RUNNING"
          },
          "is_waiting_for_telemetry": {
            "description": "Indicates that the operations performed by this Job have completed successfully, but the object changes are not yet reflected. This is only set when when the JOB is in STARTED status, with the guarantee that the job will not transition to the FAILED status. Note that this flag will likely be replaced with a new status in future API versions and be deprecated.",
            "type": "boolean"
          },
          "type": {
            "description": "The type of job being done.",
            "type": "string",
            "deprecated": true,
            "example": "DB_REFRESH"
          },
          "localized_type": {
            "description": "The i18n translated type of job being done.",
            "type": "string",
            "example": "DB Refresh"
          },
          "error_details": {
            "description": "Details about the failure for FAILED jobs.",
            "type": "string",
            "example": "Unable to connect to the engine."
          },
          "warning_message": {
            "description": "Warnings for the job.",
            "type": "string",
            "example": "Failed to remove local MaskingJob, engineId: 3 localMaskingJobId: 7."
          },
          "target_id": {
            "description": "A reference to the job's target.",
            "type": "string",
            "example": "vdb-123"
          },
          "target_name": {
            "description": "A reference to the job's target name.",
            "type": "string",
            "example": "vdb"
          },
          "start_time": {
            "description": "The time the job started executing.",
            "type": "string",
            "format": "date-time",
            "example": "2022-01-02T05:11:24.148000+00:00"
          },
          "update_time": {
            "description": "The time the job was last updated.",
            "type": "string",
            "format": "date-time",
            "example": "2022-01-02T06:11:24.148000+00:00"
          },
          "trace_id": {
            "description": "traceId of the request which created this Job",
            "type": "string"
          },
          "engine_ids": {
            "description": "IDs of the engines this Job is executing on.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "deprecated": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "engines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Engine"
            }
          },
          "account_id": {
            "description": "The ID of the account who initiated this job.",
            "type": "integer",
            "example": 1
          },
          "account_name": {
            "description": "The account name which initiated this job. It can be either firstname and lastname combination or firstname or lastname or username or email address or Account-<id>.",
            "type": "string",
            "example": "User 1"
          },
          "percent_complete": {
            "description": "Completion percentage of the Job.",
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "example": "50"
          },
          "virtualization_tasks": {
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualizationTask"
            }
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobTask"
            }
          },
          "execution_id": {
            "description": "The ID of the associated masking execution, if any.",
            "type": "string",
            "nullable": true
          }
        }
      },
      "MaskingJobWithConnectorRole": {
        "description": "A simplified job object combined with a connector ID and the connector's role in that job",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Job entity ID.",
            "type": "string",
            "example": "job-123"
          },
          "name": {
            "description": "The name of this Masking Job.",
            "type": "string",
            "example": "My favorite MaskingJob"
          },
          "creation_date": {
            "description": "The date this MaskingJob was created.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "is_on_the_fly_masking": {
            "description": "Whether the job is an on-the-fly masking job",
            "type": "boolean"
          },
          "last_execution_time": {
            "description": "The start time of the most recent execution of this job, if available",
            "type": "string",
            "format": "date-time"
          },
          "last_execution_status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "connector_id": {
            "description": "The ID of the connector this job is related to",
            "type": "string",
            "nullable": true
          },
          "connector_role": {
            "description": "The role of the connector in the job",
            "type": "string",
            "enum": [
              "SOURCE",
              "TARGET"
            ],
            "nullable": false
          }
        }
      },
      "VirtualizationTask": {
        "deprecated": true,
        "properties": {
          "id": {
            "type": "string"
          },
          "parent_job_id": {
            "type": "string"
          },
          "start_time": {
            "type": "string",
            "format": "date-time"
          },
          "end_time": {
            "type": "string",
            "format": "date-time"
          },
          "title": {
            "type": "string"
          },
          "percent_complete": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualizationTaskEvent"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "STARTED",
              "TIMEDOUT",
              "RUNNING",
              "CANCELED",
              "FAILED",
              "SUSPENDED",
              "WAITING",
              "COMPLETED",
              "ABANDONED"
            ]
          }
        }
      },
      "VirtualizationTaskEvent": {
        "deprecated": true,
        "properties": {
          "message_details": {
            "type": "string"
          }
        }
      },
      "JobTask": {
        "properties": {
          "id": {
            "type": "string"
          },
          "parent_job_id": {
            "type": "string"
          },
          "start_time": {
            "type": "string",
            "format": "date-time"
          },
          "end_time": {
            "type": "string",
            "format": "date-time"
          },
          "title": {
            "type": "string"
          },
          "percent_complete": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobTaskEvent"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "STARTED",
              "TIMEDOUT",
              "RUNNING",
              "CANCELED",
              "FAILED",
              "SUSPENDED",
              "WAITING",
              "COMPLETED",
              "ABANDONED"
            ]
          }
        }
      },
      "JobTaskEvent": {
        "properties": {
          "message_details": {
            "type": "string"
          }
        }
      },
      "Engine": {
        "properties": {
          "engine_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          },
          "engine_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          }
        }
      },
      "DataRiskReportTotals": {
        "description": "The global totals of masking data risk metrics across all connectors.",
        "type": "object",
        "properties": {
          "connector_total": {
            "description": "The total number of connectors.",
            "type": "integer",
            "format": "int64",
            "example": 10
          },
          "profiled_connector_count": {
            "description": "The number of connectors that have been profiled.",
            "type": "integer",
            "format": "int64",
            "example": 8
          },
          "sensitive_connector_count": {
            "description": "The number of connectors found to have sensitive data.",
            "type": "integer",
            "format": "int64",
            "example": 5
          },
          "masked_connector_count": {
            "description": "The number of connectors having had a successfully run masking job.",
            "type": "integer",
            "format": "int64",
            "example": 3
          },
          "at_risk_connector_count": {
            "description": "The number of connectors with sensitive data that have not been masked.",
            "type": "integer",
            "format": "int64",
            "example": 2
          },
          "data_elements_total": {
            "description": "The total number of data elements across connectors.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "data_elements_not_sensitive": {
            "description": "The number of data elements categorized as not sensitive.",
            "type": "integer",
            "format": "int64",
            "example": 400
          },
          "data_elements_sensitive_masked": {
            "description": "The number of sensitive data elements that have been masked.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "data_elements_sensitive_unmasked": {
            "description": "The number of sensitive data elements that have not been masked.",
            "type": "integer",
            "format": "int64",
            "example": 100
          },
          "records_total": {
            "description": "The total number of records across connectors.",
            "type": "integer",
            "format": "int64",
            "example": 10000
          },
          "records_not_sensitive": {
            "description": "The number of records found to be not sensitive.",
            "type": "integer",
            "format": "int64",
            "example": 4000
          },
          "records_sensitive_masked": {
            "description": "The number of sensitive records that have been masked.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "records_sensitive_unmasked": {
            "description": "The number of sensitive records that have not been masked.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "records_coverage_missing_reason": {
            "description": "An explanation if the records coverage is not provided.",
            "type": "string"
          }
        }
      },
      "MaskingFileUploadUpdateParameters": {
        "description": "Parameters to update a masking engine",
        "type": "object",
        "required": [
          "description"
        ],
        "properties": {
          "description": {
            "description": "A description for this masking file.",
            "type": "string"
          }
        }
      },
      "Algorithm": {
        "description": "A masking algorithm.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The algorithm entity ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The name of this algorithm.",
            "type": "string",
            "example": "Address"
          },
          "description": {
            "description": "A description of this algorithm.",
            "type": "string",
            "nullable": true
          },
          "plugin_name": {
            "description": "The name of the plugin that this algorithm belongs to.",
            "type": "string",
            "example": "dlpx-core"
          },
          "plugin_id": {
            "description": "The id of the plugin that this algorithm belongs to.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "framework_name": {
            "description": "The name of the framework that this algorithm belongs to.",
            "type": "string",
            "example": "Secure Lookup"
          },
          "framework_id": {
            "description": "The id of the framework that this algorithm belongs to.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "engine_name": {
            "description": "The name of the origin engine that this algorithm belongs to.",
            "type": "string",
            "example": "Compliance Engine 1"
          },
          "engine_id": {
            "description": "The id of the origin engine that this algorithm belongs to.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "revision_hash": {
            "description": "The export revision hash of this algorithm from the source engine.",
            "type": "string",
            "example": "90f4dc6d405c"
          },
          "config": {
            "description": "The configuration of this algorithm.",
            "type": "object",
            "additionalProperties": true
          },
          "create_date": {
            "description": "The date and time this algorithm was created.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "tags": {
            "description": "The tags of this algorithm.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "Classifier": {
        "description": "A classifier.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The classifier ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The name of this classifier.",
            "type": "string",
            "example": "City"
          },
          "framework": {
            "description": "The framework of this classifier.",
            "type": "string",
            "enum": [
              "REGEX",
              "LIST",
              "PATH",
              "DATA_TYPE"
            ],
            "example": "REGEX"
          },
          "description": {
            "description": "A description of this classifier.",
            "type": "string",
            "nullable": true
          },
          "data_class_id": {
            "description": "The id of the data class associated with this classifier.",
            "type": "string",
            "example": "6b5c4d3e-2a1b-4c3d-5e6f-7a8b9c0d1e2f"
          },
          "data_class_name": {
            "description": "The name of the data class associated with this classifier.",
            "type": "string",
            "example": "My Domain"
          },
          "config": {
            "description": "The configuration of this algorithm.",
            "type": "object",
            "additionalProperties": true
          },
          "engine_id": {
            "description": "The ID of the engine this classifier originated from.",
            "type": "string",
            "nullable": true
          },
          "engine_name": {
            "description": "The name of the engine this classifier originated from.",
            "type": "string",
            "nullable": true
          },
          "tags": {
            "description": "The tags of this classifier.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "Dependency": {
        "description": "A dependency relationship.",
        "type": "object",
        "properties": {
          "child_id": {
            "description": "The ID of the child entity.",
            "type": "string",
            "example": "aec2d976-6b7e-43f4-9212-90f4dc6e324fff"
          },
          "child_name": {
            "description": "The name of the child entity.",
            "type": "string",
            "example": "My File"
          },
          "child_type": {
            "description": "The type of the child entity.",
            "type": "string",
            "example": "MASKING_FILE_UPLOAD"
          }
        }
      },
      "DataClass": {
        "description": "A data class.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The data class ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The name of this data class.",
            "type": "string",
            "example": "Account Number"
          },
          "default_algorithm_id": {
            "description": "The ID of the default masking algorithm for this data class.",
            "type": "string",
            "nullable": true,
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "default_algorithm_name": {
            "description": "The name of the default masking algorithm for this data class.",
            "type": "string",
            "nullable": true,
            "example": "alg1"
          },
          "default_token_algorithm_id": {
            "description": "The ID of the default tokenization algorithm for this data class.",
            "type": "string",
            "nullable": true,
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "default_token_algorithm_name": {
            "description": "The default tokenization algorithm for this data class.",
            "type": "string",
            "nullable": true,
            "example": "alg2"
          },
          "description": {
            "description": "A description of this data class.",
            "type": "string",
            "nullable": true
          },
          "example": {
            "description": "An example data value for this data class.",
            "type": "string",
            "maxLength": 200,
            "nullable": true
          },
          "revision_hash": {
            "description": "The export revision hash of this data class from the source engine.",
            "type": "string",
            "nullable": true,
            "example": "6e0509df463cf714b2697ccf2f8ac972970021d1"
          },
          "engine_id": {
            "description": "The ID of the engine that this data class originated from.",
            "type": "string",
            "nullable": true
          },
          "engine_name": {
            "description": "The name of the engine that this data class originated from.",
            "type": "string",
            "nullable": true
          },
          "tags": {
            "description": "The tags of this data class.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "DataClassUpdateParams": {
        "description": "Parameters used to update a Data Class.",
        "type": "object",
        "properties": {
          "description": {
            "description": "A description of this data class.",
            "type": "string",
            "nullable": true
          },
          "example": {
            "description": "An example data value for this data class.",
            "type": "string",
            "maxLength": 200,
            "nullable": true
          }
        },
        "example": {
          "description": "This data class is used for account numbers.",
          "example": "1234567890"
        }
      },
      "DiscoveryPolicy": {
        "description": "A discovery policy.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The discovery policy ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The name of this discovery policy.",
            "type": "string",
            "example": "ASDD Standard"
          },
          "description": {
            "description": "A description of this discovery policy.",
            "type": "string",
            "nullable": true
          },
          "discovery_method": {
            "description": "The method used to discover sensitive data.",
            "type": "string",
            "enum": [
              "CLASSIFIERS",
              "EXPRESSIONS"
            ],
            "example": "CLASSIFIERS"
          },
          "assignment_threshold": {
            "description": "The confidence threshold that must be met or exceeded to make an assignment. This is an integer from 1-100.",
            "type": "integer",
            "format": "int32",
            "example": 80
          },
          "engine_id": {
            "description": "The ID of the engine that this discovery policy originated from.",
            "type": "string",
            "nullable": true
          },
          "engine_name": {
            "description": "The name of the engine that this discovery policy originated from.",
            "type": "string",
            "nullable": true
          },
          "tags": {
            "description": "The tags of this discovery policy.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "MaskingRuleset": {
        "description": "A masking ruleset.",
        "type": "object",
        "properties": {
          "type": {
            "description": "The Ruleset type.",
            "type": "string",
            "enum": [
              "FILE",
              "DATABASE",
              "MAINFRAME_DATASET"
            ],
            "nullable": true
          },
          "name": {
            "description": "The name of this Ruleset.",
            "type": "string"
          },
          "refresh_drops_tables": {
            "description": "Whether refresh drops tables. Only applicable to database ruleset type.",
            "type": "boolean",
            "nullable": true
          },
          "algorithms": {
            "description": "The list of algorithms for this Ruleset.",
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            }
          }
        },
        "example": {
          "type": "DATABASE",
          "name": "The best Ruleset",
          "refresh_drops_tables": true
        }
      },
      "RuleSet": {
        "description": "A masking rule set.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The rule set ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The name of this rule set.",
            "type": "string"
          },
          "type": {
            "description": "The rule set connector type.",
            "nullable": true,
            "$ref": "#/components/schemas/ConnectorTypeEnum"
          },
          "platform": {
            "description": "The rule set connector platform.",
            "type": "string",
            "nullable": true,
            "example": "Oracle"
          },
          "connector_id": {
            "description": "The ID of the connector this rule set uses.",
            "type": "string",
            "nullable": true
          },
          "connector_name": {
            "description": "The name of the connector this rule set uses.",
            "type": "string",
            "nullable": true
          },
          "engine_id": {
            "description": "The ID of the engine this rule set originated from.",
            "type": "string",
            "nullable": true
          },
          "engine_name": {
            "description": "The name of the engine this rule set originated from.",
            "type": "string",
            "nullable": true
          },
          "data_elements_total": {
            "description": "The total number of data elements in this rule set.",
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "data_elements_sensitive": {
            "description": "The number of sensitive data elements in this rule set.",
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "records_total": {
            "description": "The total number of records in this rule set.",
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "records_sensitive": {
            "description": "The number of sensitive records in this rule set.",
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "tags": {
            "description": "The tags of this rule set.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "MaskingEnvironment": {
        "properties": {
          "id": {
            "description": "The MaskingEnvironment entity ID.",
            "type": "string",
            "example": "masking-environment-1"
          },
          "engine_id": {
            "description": "The ID of the Engine where this MaskingEnvironment resides.",
            "type": "string",
            "example": "engine-123"
          },
          "engine_name": {
            "description": "The name of the Engine where this MaskingEnvironment resides.",
            "type": "string",
            "example": "engine-xyz"
          },
          "name": {
            "description": "The name of this MaskingEnvironment.",
            "type": "string",
            "example": "MyAppEnvironment"
          },
          "purpose": {
            "description": "The purpose of this MaskingEnvironment. MaskingEnvironments with a 'MASK' purpose will have access to Masking and Profiling jobs, whereas Environments with a 'TOKENIZE' purpose will have access to Tokenization and Re-Identification jobs. Note that any custom purposes created through the UI will be represented as 'MASK' purposes, due to the jobs that they have access to.",
            "enum": [
              "MASK",
              "TOKENIZE"
            ],
            "type": "string"
          },
          "is_workflow_enabled": {
            "type": "boolean"
          }
        }
      },
      "MaskingFileUpload": {
        "description": "An uploaded file.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of file."
          },
          "description": {
            "type": "string",
            "description": "A description of this file."
          },
          "filename": {
            "type": "string",
            "description": "Name of this file."
          },
          "file_checksum": {
            "type": "string",
            "description": "Checksum of this file."
          },
          "file_size": {
            "type": "integer",
            "format": "int64",
            "description": "Size of this file in bytes."
          },
          "created_date": {
            "type": "string",
            "format": "date-time",
            "description": "Date that this file was created."
          },
          "file_reference_id": {
            "type": "string",
            "description": "A reference to this file."
          },
          "engine_file_uuid": {
            "type": "string",
            "description": "file uuid of the corresponding file on the source masking engine."
          },
          "engine_name": {
            "description": "The name of the origin engine that this file belongs to.",
            "type": "string",
            "example": "Compliance Engine 1"
          },
          "engine_id": {
            "description": "The id of the origin engine that this file belongs to.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "tags": {
            "type": "array",
            "description": "Tags of this file.",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "Consumer": {
        "description": "Consumer object.",
        "type": "object",
        "properties": {
          "parent_id": {
            "type": "string",
            "description": "ID of the parent object."
          },
          "parent_name": {
            "type": "string",
            "description": "The name of the parent object."
          },
          "parent_type": {
            "type": "string",
            "description": "The type of the object.",
            "example": "algorithm"
          }
        }
      },
      "MaskingJob": {
        "description": "A masking job.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Masking Job entity ID.",
            "type": "string",
            "readOnly": true,
            "example": "masking-job-1"
          },
          "name": {
            "description": "The name of this Masking Job.",
            "type": "string",
            "example": "My favorite MaskingJob"
          },
          "rule_set_id": {
            "description": "The ID of the Rule Set used by this Masking Job (Standard Job only). For hyperscale jobs, see dataset_id.",
            "type": "string",
            "example": "uuid"
          },
          "rule_set_name": {
            "description": "The name of the Rule Set used by this Masking Job (Standard Job only). For hyperscale jobs, see dataset_id.",
            "type": "string",
            "example": "my rule set"
          },
          "ruleset": {
            "deprecated": true,
            "description": "The ruleset of this Masking job (Standard Job only). For hyperscale jobs, see dataset_id.",
            "$ref": "#/components/schemas/MaskingRuleset"
          },
          "connector_type": {
            "type": "string",
            "description": "The type of data being masked by this Job. If the Masking Job is masking a database this is the type of the database (Standard Job only).",
            "example": "MARIADB"
          },
          "is_on_the_fly_masking": {
            "description": "Whether this is an on-the-fly masking job (Standard Job only).",
            "type": "boolean",
            "example": true
          },
          "creation_date": {
            "description": "The date this MaskingJob was created (Standard Job only).",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "last_completed_execution_date": {
            "description": "The date this MaskingJob was last executed to completion.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T09:51:34.148000+00:00"
          },
          "last_execution_status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "last_execution_id": {
            "description": "The ID of this MaskingJob's last execution.",
            "type": "string",
            "example": "00e38996-7da2-4827-8f3e-0503234de537"
          },
          "connector_username": {
            "type": "string",
            "description": "The username of the Connector used by the MaskingJob (Standard Job only). For hyperscale jobs, see the connector of the dataset.",
            "nullable": true,
            "example": "user123"
          },
          "connector_password": {
            "x-dct-toolkit-credential-field": true,
            "type": "string",
            "description": "The password of the Connector used by the MaskingJob (Standard Job only). For hyperscale jobs, see the connector of the dataset.",
            "nullable": true,
            "example": "*****"
          },
          "on_the_fly_source_connector_username": {
            "type": "string",
            "description": "The username of the source Connector used by the on-the-fly MaskingJob (Standard Job only).",
            "nullable": true,
            "example": "user123"
          },
          "on_the_fly_source_connector_password": {
            "x-dct-toolkit-credential-field": true,
            "type": "string",
            "description": "The password of the source Connector used by the on-the-fly MaskingJob (Standard Job only).",
            "nullable": true,
            "example": "*****"
          },
          "job_type": {
            "type": "string",
            "description": "The engine type of this Job. This field is present for API backward compatibility.",
            "deprecated": true,
            "enum": [
              "STANDARD",
              "HYPERSCALE"
            ],
            "example": "STANDARD"
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this Job (Hyperscale Job only).",
            "type": "string",
            "example": "abc"
          },
          "description": {
            "description": "Description of the Job (Hyperscale Job only).",
            "type": "string",
            "example": "Job for app finance"
          },
          "dataset_id": {
            "description": "Dataset of the Hyperscale Job (Hyperscale Job only).",
            "type": "string",
            "example": "dataset-123"
          },
          "retain_execution_data": {
            "description": "Defines whether execution data will be stored after execution is complete (Hyperscale Job only).",
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "example": false
          },
          "max_memory": {
            "description": "Maximum memory to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "min_memory": {
            "description": "Minimum memory to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "feedback_size": {
            "description": "Feedback Size for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "stream_row_limit": {
            "description": "Stream Row Limit for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "num_input_streams": {
            "description": "Number of input streams to be configured for Masking Job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "max_concurrent_source_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "max_concurrent_target_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "parallelism_degree": {
            "description": "The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "source_masking_job_id": {
            "description": "The ID of the MaskingJob that was used as the source to create this job (Hyperscale Job only).",
            "type": "string",
            "example": "masking-job-0"
          },
          "engine_ids": {
            "description": "List of engines that this job can run on (Hyperscale Job only).",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "MaskingExecutionMetrics": {
        "description": "Metrics for a masking job.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The MaskingJob entity ID.",
            "type": "string",
            "example": "masking-job-1"
          },
          "masking_job_name": {
            "description": "The name of the MaskingJob.",
            "type": "string",
            "example": "My favorite MaskingJob"
          },
          "masking_job_type": {
            "type": "string",
            "description": "The type of the Masking job.",
            "enum": [
              "STANDARD",
              "HYPERSCALE"
            ],
            "example": "STANDARD"
          },
          "connector_type": {
            "type": "string",
            "description": "The type of data being masked by this Job. If the Masking Job is masking a database this is the type of the database, otherwise \"FILE\" or \"MAINFRAME_DATASET\".",
            "example": "MARIADB"
          },
          "ruleset_name": {
            "type": "string",
            "description": "Name of the ruleset for the Masking job.",
            "example": "my-ruleset"
          },
          "rows_masked": {
            "description": "The number of rows masked. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "rows_total": {
            "description": "The total number of rows. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "bytes_masked": {
            "description": "The number of bytes masked. This is only applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "bytes_total": {
            "description": "The total number of bytes. This is only applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "duration": {
            "description": "The time taken by the execution in ms.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "tables_files_count": {
            "description": "The number of tables or files in the ruleset associated to the Masking job.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "masked_tables_files_count": {
            "description": "The number of tables or files in the ruleset associated to the Masking job for which at least one column or field is masked.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "columns_fields_count": {
            "description": "The number of columns or fields across all tables or files in the ruleset associated to the Masking job.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "masked_columns_fields_count": {
            "description": "The number of columns or fields across all tables or files in the ruleset associated to the Masking job which are masked.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          }
        }
      },
      "MaskingJobSourceEngine": {
        "description": "A masking job's source engine.",
        "type": "object",
        "properties": {
          "masking_job_id": {
            "description": "The MaskingJob entity ID.",
            "type": "string",
            "example": "masking-job-1"
          },
          "source_engine_id": {
            "description": "The ID of the Engine serving as the source for the MaskingJob.",
            "type": "string",
            "example": "engine-123"
          }
        }
      },
      "MaskingJobConnectorsResponse": {
        "description": "Connector(s) for a masking job.",
        "type": "object",
        "properties": {
          "connector": {
            "$ref": "#/components/schemas/Connector"
          },
          "on_the_fly_connector": {
            "$ref": "#/components/schemas/Connector"
          }
        }
      },
      "ComplianceJobConnectorsResponse": {
        "description": "Connector(s) for a compliance job.",
        "type": "object",
        "properties": {
          "connector": {
            "$ref": "#/components/schemas/Connector"
          },
          "on_the_fly_connector": {
            "$ref": "#/components/schemas/Connector"
          }
        }
      },
      "Connector": {
        "description": "Connectors are the way users define the data sources to which the Masking Engine should connect.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Connector entity ID.",
            "type": "string",
            "example": "1-database-123"
          },
          "name": {
            "description": "The Connector name.",
            "type": "string",
            "example": "connector-name"
          },
          "engine_id": {
            "description": "The id of the Compliance Engine that this Connector belongs to.",
            "type": "string",
            "example": "123"
          },
          "engine_name": {
            "description": "The name of the Compliance Engine that this Connector belongs to.",
            "type": "string",
            "example": "my-compliance-engine-1"
          },
          "type": {
            "description": "The type of Connector. One of Database, File, or Mainframe.",
            "$ref": "#/components/schemas/ConnectorTypeEnum"
          },
          "hostname": {
            "description": "The network hostname or IP address of the database server.",
            "type": "string",
            "example": "database_server.mycompany.co"
          },
          "port": {
            "description": "The TCP port of the server.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 65535,
            "example": 9100
          },
          "username": {
            "description": "The username this Connector will use to connect to the database.",
            "type": "string"
          },
          "auth_present": {
            "description": "Whether this connector has authentication credentials set",
            "type": "boolean"
          },
          "database_type": {
            "description": "The database variant, such as Oracle or MSSQL Server",
            "type": "string",
            "enum": [
              "AURORA_POSTGRES",
              "DB2",
              "DB2_ISERIES",
              "DB2_MAINFRAME",
              "EXTENDED",
              "GENERIC",
              "MARIADB",
              "MSSQL",
              "MYSQL",
              "ORACLE",
              "POSTGRES",
              "RDS_POSTGRES",
              "SYBASE"
            ],
            "example": "ORACLE"
          },
          "custom_driver_name": {
            "description": "The name of the custom JDBC driver for this connector",
            "type": "string"
          },
          "database_name": {
            "description": "The database name for this connector",
            "type": "string"
          },
          "instance_name": {
            "description": "The instance name for this connector",
            "type": "string"
          },
          "jdbc": {
            "description": "The jdbc URL for this connector",
            "type": "string"
          },
          "schema_name": {
            "description": "The schema name for this connector",
            "type": "string"
          },
          "sid": {
            "description": "The SID value for this connector. This field is specific to Oracle database connectors",
            "type": "string"
          },
          "kerberos_auth": {
            "description": "Whether kerberos authentication is enabled for this connector",
            "type": "boolean"
          },
          "service_principal": {
            "description": "The service principal to use for kerberos authentication",
            "type": "string"
          },
          "enable_logger": {
            "description": "Whether the logger is enable for this connector",
            "type": "boolean"
          },
          "file_type": {
            "description": "The type of file this connector is configured to access",
            "type": "string",
            "enum": [
              "DELIMITED",
              "FIXED_WIDTH",
              "XML",
              "JSON"
            ],
            "example": "DELIMITED"
          },
          "connection_mode": {
            "description": "The connection mode for file connectors",
            "type": "string",
            "enum": [
              "FTP",
              "MOUNT",
              "SFTP",
              "FTPS",
              "AWS_S3",
              "S3_COMPATIBLE"
            ],
            "example": "SFTP"
          },
          "path": {
            "description": "The path on the remote server for file connections",
            "type": "string"
          },
          "ssh_key": {
            "description": "The name of the ssh key for SFTP mode file connectors",
            "type": "string"
          },
          "user_dir_is_root": {
            "description": "For FTP and SFTP connections, whether the user dir is set to root",
            "type": "boolean"
          },
          "platform": {
            "description": "This database or file connection type associated with the connector",
            "type": "string",
            "example": "ORACLE"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        },
        "example": {
          "id": "1-database-123",
          "name": "connector-name",
          "engine_id": 123,
          "type": "DATABASE",
          "hostname": "database_server.example.com",
          "database_type": "POSTGRES",
          "schema_name": "public",
          "database_name": "public",
          "port": 5432,
          "username": "user-123"
        }
      },
      "ConnectorTypeEnum": {
        "type": "string",
        "enum": [
          "DATABASE",
          "FILE",
          "MAINFRAME_DATASET"
        ],
        "example": "DATABASE"
      },
      "ConnectorUpdateParameters": {
        "description": "Parameters used to update a Masking Connector.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The Connector name.",
            "type": "string"
          },
          "hostname": {
            "description": "The network hostname or IP address of the database server.",
            "type": "string"
          },
          "port": {
            "description": "The TCP port of the server.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 65535
          },
          "username": {
            "description": "The username this Connector will use to connect to the database.",
            "type": "string"
          },
          "password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the database.",
            "type": "string"
          }
        },
        "example": {
          "name": "connector-name",
          "hostname": "database_server.mycompany.co",
          "port": 4322,
          "username": "user-123",
          "password": "password123"
        }
      },
      "ExecutionStatus": {
        "description": "The status of a masking or discovery job.",
        "type": "string",
        "enum": [
          "PENDING",
          "QUEUED",
          "RUNNING",
          "CANCELLED",
          "FAILED",
          "SUCCEEDED",
          "WARNING",
          "WAITING"
        ],
        "example": "RUNNING"
      },
      "Execution": {
        "description": "The execution of a masking or discovery job.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Execution entity ID.",
            "type": "string",
            "example": "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
          },
          "engine_id": {
            "description": "The ID of the engine where this execution ran.",
            "type": "string",
            "example": "1"
          },
          "hyperscale_instance_id": {
            "type": "string"
          },
          "engine_name": {
            "description": "The name of the engine where this execution ran.",
            "type": "string",
            "example": "prod01"
          },
          "masking_job_id": {
            "description": "The ID of the masking job that is being executed.",
            "type": "string",
            "example": "2"
          },
          "masking_job_name": {
            "description": "The name of the masking job that is being executed.",
            "type": "string",
            "example": "finance-masking-job"
          },
          "source_connector_id": {
            "description": "The ID of the source connector. This field is only used for multi-tenant jobs that are also on-the-fly.",
            "type": "string",
            "example": "1-DATABASE-2"
          },
          "target_connector_id": {
            "description": "The ID of the target connector. This field is only used for multi-tenant jobs.",
            "type": "string",
            "example": "1-DATABASE-3"
          },
          "status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "rows_masked": {
            "description": "The number of rows masked or profiled so far by this execution. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "rows_total": {
            "description": "The total number of rows that this execution should mask. This value is set to -1 while the total row count is being calculated. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "bytes_processed": {
            "description": "The number of bytes masked so far by this execution. This is only applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "bytes_total": {
            "description": "The total number of bytes that this execution should mask. This value is set to -1 while the total byte count is being calculated. This is only applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "start_time": {
            "description": "The date and time that this execution was started.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T09:51:34.148000+00:00"
          },
          "submit_time": {
            "description": "The date and time that this execution was submitted.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T08:51:34.148000+00:00"
          },
          "end_time": {
            "description": "The date and time that this execution completed.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T11:51:34.148000+00:00"
          },
          "run_duration": {
            "description": "The time this execution spent running, in milliseconds.",
            "type": "integer",
            "format": "int64",
            "example": 4000
          },
          "queue_duration": {
            "description": "The time this execution spent in the queue, in milliseconds.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "total_duration": {
            "description": "The total time this execution took, in milliseconds.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "account_id": {
            "description": "The account id of the DCT user who started this execution.",
            "type": "integer",
            "format": "int64",
            "example": 3
          },
          "account_name": {
            "description": "The account name of the DCT user who started this execution.",
            "type": "string",
            "example": "John Doe"
          },
          "task_events": {
            "description": "The progression of steps or events performed by this execution. Only available for executions on masking engines that are version 6.0.14.0 and higher.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskEvent"
            },
            "example": [
              {
                "event": "Initializing",
                "status": "SUCCEEDED"
              },
              {
                "event": "Job Completed",
                "status": "FAILED"
              }
            ]
          },
          "hyperscale_task_events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HyperscaleTaskEvent"
            }
          },
          "progress": {
            "description": "Progress of the task (value between 0 and 1, Hyperscale executions only)",
            "type": "number",
            "example": 0.34
          },
          "execution_components_total": {
            "description": "The total number of execution components in this execution.",
            "type": "integer",
            "format": "int32",
            "example": 5
          },
          "execution_components_processed": {
            "description": "The number of execution components processed so far in this execution.",
            "type": "integer",
            "format": "int32",
            "example": 3
          }
        }
      },
      "HyperscaleTaskEvent": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the task (Unload, Masking, Load, Post-Load)",
            "example": "Unload"
          },
          "progress": {
            "description": "progress of the task (between 0 and 1)",
            "type": "number",
            "example": 0.34
          },
          "status": {
            "type": "string",
            "enum": [
              "CANCELLED",
              "CANCEL_INITIATED",
              "FAILED",
              "RUNNING",
              "SUCCEEDED"
            ],
            "example": "FAILED"
          },
          "processed_objects": {
            "description": "The number of objects (tables) already processed by this task.",
            "type": "integer",
            "format": "int64"
          },
          "processed_rows": {
            "description": "The number of rows already processed by this task.",
            "type": "integer",
            "format": "int64"
          },
          "processed_constraints": {
            "description": "The number of constraints processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "total_constraints": {
            "description": "The total number of constraints to be processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "processed_indexes": {
            "description": "The number of indexes processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "total_indexes": {
            "description": "The total number of indexes to be processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "processed_triggers": {
            "description": "The number of triggered processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "total_triggers": {
            "description": "The total number of triggers to be processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "start_time": {
            "description": "The date and time that this task was started.",
            "type": "string",
            "format": "date-time",
            "example": "2022-01-02T05:11:24.148000+00:00"
          },
          "end_time": {
            "description": "The date and time that this task completed.",
            "type": "string",
            "format": "date-time",
            "example": "2022-01-02T05:13:24.148000+00:00"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HyperscaleTaskError"
            }
          }
        }
      },
      "HyperscaleTaskError": {
        "properties": {
          "table_name": {
            "type": "string",
            "description": "the name of the table for which the error occurred, including the schema.",
            "example": "public_schema.table_x"
          },
          "error": {
            "type": "string",
            "description": "A textual description of the error."
          }
        }
      },
      "TaskEvent": {
        "description": "A step or event performed by a masking execution.",
        "type": "object",
        "properties": {
          "event": {
            "description": "The steps or events a task will perform.",
            "type": "string",
            "example": "Job Completed"
          },
          "status": {
            "description": "The state of result of the task event.",
            "type": "string",
            "enum": [
              "CANCELLED",
              "FAILED",
              "QUEUED",
              "RUNNING",
              "SUCCEEDED",
              "SKIPPED",
              "NON_CONFORMANT"
            ],
            "example": "SUCCEEDED"
          }
        }
      },
      "ExecutionEvent": {
        "description": "Events, such as warnings or errors, associated with job executions.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The ExecutionEvent entity ID.",
            "type": "string",
            "example": "1-EVENT-1"
          },
          "execution_id": {
            "description": "The ID of the execution.",
            "type": "string",
            "example": "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
          },
          "execution_component_id": {
            "description": "The ID of the execution component.",
            "type": "string",
            "example": "123"
          },
          "event_type": {
            "description": "The type of execution event.",
            "type": "string",
            "enum": [
              "JOB_ABORTED",
              "UNMASKED_DATA",
              "MASKING_FALLBACK"
            ],
            "example": "JOB_ABORTED"
          },
          "severity": {
            "description": "The severity of the execution event.",
            "type": "string",
            "enum": [
              "INFO",
              "WARNING",
              "CRITICAL"
            ],
            "example": "INFO"
          },
          "cause": {
            "description": "The cause of the execution event.",
            "type": "string",
            "enum": [
              "UNHANDLED_EXCEPTION",
              "IGNORED_EXCEPTION",
              "PATTERN_MATCH_FAILURE",
              "PREMASK_TYPE_CONVERSION_FAILURE",
              "POSTMASK_TYPE_CONVERSION_FAILURE",
              "EXTENDED_ALGORITHM_FAILURE",
              "DRIVER_SUPPORT_TASK_FAILURE",
              "DATA_NOT_FOUND_FAILURE"
            ],
            "example": "UNHANDLED_EXCEPTION"
          },
          "count": {
            "description": "The number of times the execution event occurred.",
            "type": "integer",
            "format": "int64",
            "example": 1
          },
          "timestamp": {
            "description": "The date and time that this execution event first occurred.",
            "type": "string",
            "format": "date-time",
            "example": "2023-03-20T08:51:34.148000+00:00"
          },
          "masked_object_name": {
            "description": "The name of the column, field, or other object being masked when this event occurred, if applicable.",
            "type": "string",
            "example": "ssn"
          },
          "algorithm_name": {
            "description": "The name of the masking algorithm running when this event occurred, if applicable.",
            "type": "string",
            "example": "SsnTK"
          },
          "exception_type": {
            "description": "The Java class of the exception that triggered this event, if applicable.",
            "type": "string",
            "example": "SQLException"
          },
          "exception_detail": {
            "description": "The details associated with the Java exception that triggered this event, if applicable.",
            "type": "string",
            "example": "Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor"
          }
        }
      },
      "ExecutionLog": {
        "description": "A log containing warnings or errors associated with a job execution.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The ExecutionLog entity ID.",
            "type": "string",
            "example": "1-LOG-1"
          },
          "execution_id": {
            "description": "The ID of the execution.",
            "type": "string",
            "example": "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
          },
          "masking_job_id": {
            "description": "The ID of the masking job that is being executed.",
            "type": "string",
            "example": "2"
          },
          "status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "log": {
            "description": "The log file contents.",
            "type": "string",
            "example": "ORA-12505, TNS:listener does not currently know of SID given in connect descriptor"
          }
        }
      },
      "ExecutionCancelParameters": {
        "description": "Parameters to cancel an execution.",
        "type": "object",
        "properties": {
          "expected_status": {
            "description": "The expected status of the execution to cancel to prevent cancelling a queued job that has transitioned to a running state since the request was issued (Standard Job only).",
            "type": "string",
            "enum": [
              "QUEUED",
              "RUNNING"
            ],
            "example": "QUEUED"
          }
        }
      },
      "ExecutionComponent": {
        "description": "An execution component associated with a job execution",
        "type": "object",
        "properties": {
          "id": {
            "description": "The ID of the execution component",
            "type": "string",
            "example": "123"
          },
          "name": {
            "description": "The name of the execution component",
            "type": "string",
            "example": "table_a"
          },
          "execution_id": {
            "description": "The ID of the execution",
            "type": "string",
            "example": "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
          },
          "status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "rows_masked": {
            "description": "The number of rows masked or profiled so far in the execution component. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "rows_total": {
            "description": "The total number of rows that should be masked or profiled in the execution component. This value is set to -1 while the total row count is being calculated. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "bytes_processed": {
            "description": "The number of bytes masked or profiled so far in the component. This is only applicable to JSON files and ASDD profiling jobs on XML files.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "bytes_total": {
            "description": "The total number of bytes that should be masked or profiled in the component. This value is set to -1 while the total byte count is being calculated. This is only applicable to JSON files and ASDD profiling jobs on XML files.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "start_time": {
            "description": "The date and time that the masking engine starts operating on the execution component.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T09:51:34.148000+00:00"
          },
          "end_time": {
            "description": "The date and time that the execution component is placed in a final state.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T11:51:34.148000+00:00"
          },
          "non_conforming_data_count": {
            "description": "The non-conforming data count for this execution component.",
            "type": "integer",
            "format": "int64",
            "example": 10
          }
        }
      },
      "ExecutionComponentLog": {
        "description": "A log containing information about an execution component",
        "type": "object",
        "properties": {
          "execution_component_id": {
            "description": "The ID of the execution component",
            "type": "string",
            "example": "123"
          },
          "log": {
            "description": "The execution component log contents",
            "type": "string",
            "example": "2024/08/29 22:22:52 - newtable-6f323503-9911-3ca0-8843-f7d9f56374de - Loading transformation from XML file"
          }
        }
      },
      "UpdateMaskingJobParameters": {
        "type": "object",
        "description": "Parameters to update a MaskingJob.",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the MaskingJob.",
            "minLength": 1,
            "maxLength": 1024,
            "example": "My favorite MaskingJob"
          },
          "connector_username": {
            "type": "string",
            "description": "The username of the Connector used by the MaskingJob. (Standard Job only).",
            "minLength": 1,
            "maxLength": 256,
            "example": "user123"
          },
          "connector_password": {
            "x-dct-toolkit-credential-field": true,
            "type": "string",
            "description": "The password of the Connector used by the MaskingJob. (Standard Job only).",
            "minLength": 1,
            "maxLength": 4096,
            "example": "password123"
          },
          "on_the_fly_source_connector_username": {
            "type": "string",
            "description": "The username of the source Connector used by the on-the-fly MaskingJob. (Standard Job only).",
            "minLength": 1,
            "maxLength": 256,
            "example": "user123"
          },
          "on_the_fly_source_connector_password": {
            "x-dct-toolkit-credential-field": true,
            "type": "string",
            "description": "The password of the source Connector used by the on-the-fly MaskingJob. (Standard Job only).",
            "minLength": 1,
            "maxLength": 4096,
            "example": "password123"
          },
          "description": {
            "description": "Description of the Job (Hyperscale Job only).",
            "type": "string",
            "example": "Job for app finance"
          },
          "dataset_id": {
            "description": "Dataset of the Hyperscale Job (Hyperscale Job only).",
            "type": "string",
            "example": "dataset-123"
          },
          "retain_execution_data": {
            "description": "Defines whether execution data will be stored after execution is complete (Hyperscale Job only).",
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "example": false
          },
          "max_memory": {
            "description": "Maximum memory to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "min_memory": {
            "description": "Minimum memory to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "feedback_size": {
            "description": "Feedback Size for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "stream_row_limit": {
            "description": "Stream Row Limit for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "num_input_streams": {
            "description": "Number of input streams to be configured for Masking Job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "max_concurrent_source_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "max_concurrent_target_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "parallelism_degree": {
            "description": "The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          }
        }
      },
      "ExecuteMaskingJobParameters": {
        "type": "object",
        "description": "Parameters to execute a MaskingJob.",
        "properties": {
          "engine_id": {
            "type": "string",
            "description": "The ID of the Engine to execute this MaskingJob on (Standard job only).",
            "minLength": 1,
            "example": "engine-123"
          }
        }
      },
      "ExecuteComplianceJobRequest": {
        "type": "object",
        "description": "Parameters to execute a compliance job."
      },
      "HyperscaleMountPoint": {
        "title": "HyperscaleMountPoint",
        "type": "object",
        "description": "A Mount Point for the Hyperscale instance to write to a staging area and engines to read from.",
        "required": [
          "hyperscale_instance_id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the Hyperscale Mount Point.",
            "type": "string",
            "readOnly": true
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this Mount Point.",
            "type": "string"
          },
          "name": {
            "description": "Name of the mount, unique for a hyperscale instance. This name will be used as a directory name by the Hyperscale instance.",
            "type": "string"
          },
          "hostname": {
            "description": "The host name of the server.",
            "type": "string"
          },
          "mount_path": {
            "description": "The path to the directory on the filesystem to mount.",
            "type": "string"
          },
          "mount_type": {
            "description": "The type of mount filesystem. Enum having values- CIFS, NFS3, NFS4.",
            "type": "string",
            "enum": [
              "CIFS",
              "NFS3",
              "NFS4"
            ]
          },
          "options": {
            "type": "string",
            "description": "The options for mount. The endpoint will return all default options and user specified options."
          },
          "staging_storage_type": {
            "description": "The type of staging storage.",
            "type": "string",
            "enum": [
              "MOUNT",
              "AWS_S3"
            ]
          },
          "auth_mechanism": {
            "description": "The authentication mechanism for AWS_S3 storage.",
            "type": "string",
            "enum": [
              "AWS_ROLE",
              "AWS_SECRET"
            ]
          },
          "aws_bucket_name": {
            "type": "string",
            "description": "The aws bucket name for AWS_S3 storage."
          },
          "aws_bucket_region": {
            "type": "string",
            "description": "The aws bucket region for AWS_S3 storage."
          },
          "aws_bucket_prefix": {
            "type": "string",
            "description": "The aws bucket prefix for AWS_S3 storage."
          },
          "aws_bucket_delimiter": {
            "type": "string",
            "description": "The aws bucket delimiter for AWS_S3 storage."
          }
        }
      },
      "HyperscaleMountPointUpdateParameters": {
        "title": "HyperscaleMountPointUpdateParameters",
        "type": "object",
        "description": "The updatable properties of a Hyperscale Mount Point.",
        "properties": {
          "name": {
            "description": "Name of the mount, unique for a hyperscale instance.",
            "type": "string"
          },
          "hostname": {
            "description": "The host name of the server.",
            "type": "string"
          },
          "mount_path": {
            "description": "The path to the directory on the filesystem to mount.",
            "type": "string"
          },
          "mount_type": {
            "description": "The type of filesystem.",
            "type": "string",
            "enum": [
              "CIFS",
              "NFS3",
              "NFS4"
            ]
          },
          "options": {
            "type": "string",
            "description": "The mount options."
          }
        }
      },
      "HyperscaleConnector": {
        "title": "HyperscaleConnector",
        "type": "object",
        "description": "A Hyperscale connector to read/write data from/to a datasource.",
        "properties": {
          "id": {
            "description": "The ID of the Hyperscale Connector.",
            "type": "string",
            "readOnly": true
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this Connector.",
            "type": "string"
          },
          "data_type": {
            "$ref": "#/components/schemas/HyperscaleDataTypeEnum"
          },
          "name": {
            "type": "string"
          },
          "source_username": {
            "description": "The username this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_jdbc_url": {
            "description": "The JDBC URL used to connect to the source database.",
            "type": "string"
          },
          "source_mongo_url": {
            "description": "The MongoDB URL used to connect to the source database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "source_filesystem_path": {
            "description": "The path on the filesystem where source files must be read (Delimited files Only).",
            "type": "string"
          },
          "source_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "target_username": {
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_jdbc_url": {
            "description": "The JDBC URL used to connect to the target database.",
            "type": "string"
          },
          "target_mongo_url": {
            "description": "The MongoDB URL used to connect to the target database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "target_filesystem_path": {
            "description": "The path on the filesystem where target files must be written (Delimited files Only).",
            "type": "string"
          },
          "target_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "HyperscaleConnectorCreateParameters": {
        "title": "HyperscaleConnectorCreateParameters",
        "type": "object",
        "description": "Parameters to create a Hyperscale Connector.",
        "properties": {
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this Connector.",
            "type": "string"
          },
          "data_type": {
            "$ref": "#/components/schemas/HyperscaleDataTypeEnum"
          },
          "name": {
            "type": "string"
          },
          "source_username": {
            "description": "The username this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_jdbc_url": {
            "description": "The JDBC URL used to connect to the source database.",
            "type": "string"
          },
          "source_mongo_url": {
            "description": "The MongoDB URL used to connect to the source database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "source_filesystem_path": {
            "description": "The path on the filesystem where source files must be read (Delimited files Only).",
            "type": "string"
          },
          "source_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "target_username": {
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_jdbc_url": {
            "description": "The JDBC URL used to connect to the target database.",
            "type": "string"
          },
          "target_mongo_url": {
            "description": "The MongoDB URL used to connect to the target database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "target_filesystem_path": {
            "description": "The path on the filesystem where target files must be written (Delimited files Only).",
            "type": "string"
          },
          "target_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this Hyperscale Connector must be configured as owner of it."
          }
        }
      },
      "HyperscaleConnectorUpdateParameters": {
        "title": "HyperscaleConnectorUpdateParameters",
        "type": "object",
        "description": "The updatable properties of a Hyperscale Connector.",
        "properties": {
          "name": {
            "type": "string"
          },
          "source_username": {
            "description": "The username this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_jdbc_url": {
            "description": "The JDBC URL used to connect to the source database.",
            "type": "string"
          },
          "source_mongo_url": {
            "description": "The MongoDB URL used to connect to the source database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "source_filesystem_path": {
            "description": "The path on the filesystem where source files must be read (Delimited files Only).",
            "type": "string"
          },
          "source_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "target_username": {
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_jdbc_url": {
            "description": "The JDBC URL used to connect to the target database.",
            "type": "string"
          },
          "target_mongo_url": {
            "description": "The MongoDB URL used to connect to the target database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "target_filesystem_path": {
            "description": "The path on the filesystem where target files must be written (Delimited files Only).",
            "type": "string"
          },
          "target_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "CreateMaskingJobRequest": {
        "title": "CreateMaskingJobRequest",
        "type": "object",
        "description": "Parameters to create a MaskingJob.",
        "properties": {
          "name": {
            "description": "The name to give the Masking Job.",
            "type": "string",
            "example": "My favorite MaskingJob"
          },
          "description": {
            "description": "The description of the Job (Hyperscale Job only).",
            "type": "string",
            "example": "Job for app finance DB"
          },
          "job_type": {
            "type": "string",
            "description": "The type of Job.",
            "enum": [
              "HYPERSCALE"
            ],
            "example": "HYPERSCALE"
          },
          "hyperscale_instance_id": {
            "description": "The ID of the HyperscaleInstance to create this Job on (Hyperscale Job only).",
            "type": "string",
            "example": "hyperscale-123"
          },
          "source_masking_job_id": {
            "description": "The ID of the Masking Job to use as the source (Hyperscale Job only).",
            "type": "string",
            "example": "masking-job-123"
          },
          "hyperscale_source_connector_username": {
            "description": "The username to set for the Source Connector that will be imported (Hyperscale Job only).",
            "type": "string",
            "example": "db-user-123"
          },
          "hyperscale_source_connector_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password to set for the Source Connector that will be imported (Hyperscale Job only).",
            "type": "string",
            "example": "dp-pass-123"
          },
          "hyperscale_target_connector_username": {
            "description": "The username to set for the Target Connector that will be imported (Hyperscale Job only).",
            "type": "string",
            "example": "db-user-123"
          },
          "hyperscale_target_connector_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password to set for the Target Connector that will be imported (Hyperscale Job only).",
            "type": "string",
            "example": "dp-pass-123"
          },
          "mount_point_id": {
            "description": "The ID of the MountPoint to use for the resulting dataset (Hyperscale Job only).",
            "type": "string",
            "example": "mount-point-123"
          },
          "unload_split": {
            "description": "The number of unloaded files to be generated from the source database (Hyperscale Job only).",
            "type": "integer",
            "format": "int64",
            "example": 4
          },
          "stream_size": {
            "description": "The stream size to be used by the sqlldr oracle utility which specifies the size (in bytes) of the data stream sent from the client to the server (Hyperscale Job only).",
            "type": "integer",
            "format": "int64",
            "example": 65536
          },
          "retain_execution_data": {
            "description": "Defines whether execution data will be stored after execution is complete (Hyperscale Job only).",
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "example": false
          },
          "max_memory": {
            "description": "Maximum memory, in MB, to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "min_memory": {
            "description": "Minimum memory, in MB, to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "feedback_size": {
            "description": "The granularity with which the masking engine provides updates on the progress of the masking job. For instance, a feedbackSize of 50000 results in log updates whenever 50000 rows are processed during the masking phase (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 10000
          },
          "stream_row_limit": {
            "description": "The stream row limit constrains the total number of rows that may enter the job for each masking stream. Setting this value to 0 allows unlimited rows into each stream, while leaving it blank will select a default limit based on job type (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 0
          },
          "num_input_streams": {
            "description": "Number of input streams to be configured for Masking Job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "max_concurrent_source_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "max_concurrent_target_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "parallelism_degree": {
            "description": "The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this Masking job must be configured as owner of it (Hyperscale Job only)."
          }
        }
      },
      "HyperscaleDataset": {
        "title": "HyperscaleDataset",
        "type": "object",
        "description": "A Hyperscale Dataset.",
        "properties": {
          "id": {
            "description": "The ID of the Hyperscale Dataset.",
            "type": "string"
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this Dataset.",
            "type": "string"
          },
          "data_type": {
            "$ref": "#/components/schemas/HyperscaleDataTypeEnum"
          },
          "mount_point_id": {
            "description": "The Id of the Hyperscale Mount Point used for this Dataset.",
            "type": "string"
          },
          "connector_id": {
            "description": "Id the Hyperscale Connector used to read sensitive data and write masked data.",
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "HyperscaleDatasetUpdateParameters": {
        "title": "HyperscaleDatasetUpdateParameters",
        "type": "object",
        "description": "The updatable properties of a Hyperscale Dataset.",
        "properties": {
          "mount_point_id": {
            "description": "The Id of the Hyperscale Mount Point used for this Dataset.",
            "type": "string"
          },
          "connector_id": {
            "description": "Id the Hyperscale Connector used to read sensitive data and write masked data.",
            "type": "string"
          }
        }
      },
      "HyperscaleDatasetTableOrFile": {
        "title": "HyperscaleDatasetTableOrFile",
        "type": "object",
        "description": "A table or file which is part of a hyperscale dataset.",
        "properties": {
          "id": {
            "description": "The ID of the Hyperscale Dataset table or file.",
            "type": "string"
          },
          "schema_name": {
            "type": "string",
            "description": "Name of the table schema (Oracle/MSSql only)."
          },
          "table_name": {
            "type": "string",
            "description": "Name of the table (Oracle/MSSql only)."
          },
          "collection_name": {
            "type": "string",
            "description": "Name of the collection (MongoDB only)."
          },
          "database_name": {
            "type": "string",
            "description": "Name of the database (MongoDB only)."
          },
          "filter_key": {
            "description": "The unique database column field to filter the source data.",
            "type": "string"
          },
          "column_array_rows": {
            "description": "The number of column array rows to be used by the sqlldr oracle utility which determines the number of rows loaded before the stream buffer is built.",
            "type": "integer",
            "format": "int64"
          },
          "unload_split": {
            "description": "The number of unloaded files to be generated from the source database.",
            "type": "integer",
            "format": "int64"
          },
          "stream_size": {
            "description": "Long The stream size to be used by the sqlldr oracle utility which specifies the size (in bytes) of the data stream sent from the client to the server.",
            "type": "integer",
            "format": "int64"
          },
          "end_of_record": {
            "description": "The end of line character. Support values are \\n, \\r  and \\r\\n (Delimited files only).",
            "type": "string"
          },
          "delimiter": {
            "description": "The single character length delimiter used in source files (Delimited files only).",
            "type": "string"
          },
          "enclosure": {
            "description": "The single character length quote character used in the source files (Delimited files only).",
            "type": "string"
          },
          "enclosure_escape_character": {
            "description": "The escape character used to escape quote characters (Delimited files only).",
            "type": "string"
          },
          "escape_enclosure_escape_character": {
            "description": "Whether to escape the enclosure escape character (Delimited files only).",
            "type": "boolean"
          },
          "has_headers": {
            "description": "Whether source files have header column names or not (Delimited files only). If set to true, format files with the same column names are created and the same can be used for the masking inventory. If set to false, the column names of pattern f0, f1, f2, and so on are used to create the format files for delimited file masking.",
            "type": "boolean"
          },
          "unique_source_files_identifier": {
            "description": "This is the source key that maps the load-service and masking-service data sets with the unload-service data set (Delimited files only). Please ensure that this value is different for each HyperscaleDatasetTableOrFile.",
            "type": "string"
          },
          "source_files": {
            "description": "List of all source files that need to be masked (Delimited files only). All files should have the same delimiter character and other helper characters. All files should have the same number of columns and same column names if it has a header line.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "perform_join": {
            "description": "Whether the split files must be joined (Delimited files only).",
            "type": "boolean"
          },
          "masking_inventory": {
            "type": "array",
            "description": "DataSet information for masking inventory.",
            "items": {
              "type": "object",
              "title": "HyperscaleColumnOrField",
              "properties": {
                "field_name": {
                  "description": "Name of the field.",
                  "type": "string"
                },
                "domain_name": {
                  "description": "The name of the domain assigned to this field.",
                  "type": "string"
                },
                "algorithm_name": {
                  "description": "The name of the algorithm assigned to this field.",
                  "type": "string"
                },
                "date_format": {
                  "description": "The format of the date assigned to this field.",
                  "type": "string"
                },
                "algorithm_field_name": {
                  "description": "The name of the algorithm field that is associated with this algorithm.",
                  "type": "string"
                },
                "algorithm_group_no": {
                  "description": "The group number of the algorithm to identify a set of columns associated with one instance of algorithm.",
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        }
      },
      "HyperscaleDatasetTableOrFileUpdateParameters": {
        "title": "HyperscaleDatasetTableOrFile",
        "type": "object",
        "description": "The updatable properties of a table or file which is part of a hyperscale dataset.",
        "properties": {
          "filter_key": {
            "description": "The unique database column field to filter the source data. Set this property to an empty string to clear the value.",
            "type": "string"
          },
          "column_array_rows": {
            "description": "The number of column array rows to be used by the sqlldr oracle utility which determines the number of rows loaded before the stream buffer is built.",
            "type": "integer",
            "format": "int64"
          },
          "unload_split": {
            "description": "The number of unloaded files to be generated from the source database.",
            "type": "integer",
            "format": "int64"
          },
          "stream_size": {
            "description": "Long The stream size to be used by the sqlldr oracle utility which specifies the size (in bytes) of the data stream sent from the client to the server.",
            "type": "integer",
            "format": "int64"
          },
          "end_of_record": {
            "description": "The end of line character. Support values are \\n, \\r  and \\r\\n (Delimited files only).",
            "type": "string"
          },
          "delimiter": {
            "description": "The single character length delimiter used in source files (Delimited files only).",
            "type": "string"
          },
          "enclosure": {
            "description": "The single character length quote character used in the source files (Delimited files only).",
            "type": "string"
          },
          "enclosure_escape_character": {
            "description": "The escape character used to escape quote characters (Delimited files only).",
            "type": "string"
          },
          "escape_enclosure_escape_character": {
            "description": "Whether to escape the enclosure escape character (Delimited files only).",
            "type": "boolean"
          },
          "has_headers": {
            "description": "Whether source files have header column names or not (Delimited files only). If set to true, format files with the same column names are created and the same can be used for the masking inventory. If set to false, the column names of pattern f0, f1, f2, and so on are used to create the format files for delimited file masking.",
            "type": "boolean"
          },
          "unique_source_files_identifier": {
            "description": "This is the source key that maps the load-service and masking-service data sets with the unload-service data set (Delimited files only). Please ensure that this value is different for each HyperscaleDatasetTableOrFile.",
            "type": "string"
          },
          "source_files": {
            "description": "List of all source files that need to be masked (Delimited files only). All files should have the same delimiter character and other helper characters. All files should have the same number of columns and same column names if it has a header line.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "perform_join": {
            "description": "Whether the split files must be joined (Delimited files only).",
            "type": "boolean"
          }
        }
      },
      "HyperscaleInstance": {
        "title": "HyperscaleInstance",
        "type": "object",
        "description": "A registered Hyperscale instance's connection and authentication settings.",
        "required": [
          "name",
          "hostname",
          "api_key"
        ],
        "properties": {
          "id": {
            "description": "The Hyperscale instance entity ID.",
            "type": "string",
            "readOnly": true
          },
          "name": {
            "description": "The name of this hyperscale instance.",
            "type": "string"
          },
          "hostname": {
            "description": "The hostname of this hyperscale instance.",
            "type": "string"
          },
          "data_type": {
            "$ref": "#/components/schemas/HyperscaleDataTypeEnum"
          },
          "creation_date": {
            "description": "The date this hyperscale instance was registered.",
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "description": "The tags to be created for this hyperscale instance.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "api_key": {
            "description": "API key to connect to the hyperscale instance.",
            "type": "string"
          },
          "insecure_ssl": {
            "description": "Allow connections to the hyperscale instance over HTTPs without validating the TLS certificate. Even though\nthe connection to the hyperscale instance might be performed over HTTPs, setting this property eliminates\nthe protection against a man-in-the-middle attach for connections to this engine. Instead,\nconsider creating a truststore with a Certificate Authority to validate the hyperscale instance's certificate,\nand set the truststore_filename property.\n",
            "type": "boolean",
            "default": false
          },
          "unsafe_ssl_hostname_check": {
            "description": "Ignore validation of the name associated to the TLS certificate when connecting to the hyperscale instance over HTTPs.\nSetting this value must only be done if the TLS certificate of the hyperscale instance does not match the hostname,\nand the TLS configuration of the hyperscale instance cannot be fixed. Setting this property reduces the protection\nagainst a man-in-the-middle attack for connections to this hyperscale instance.\nThis is ignored if insecure_ssl is set.\n",
            "type": "boolean",
            "default": false
          },
          "truststore_filename": {
            "description": "File name of a truststore which can be used to validate the TLS certificate of the hyperscale instance. The truststore\nmust be available at /etc/config/certs/<truststore_filename>\n",
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 1024,
            "pattern": "^[a-zA-Z0-9_\\.]+$"
          },
          "truststore_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "Password to read the truststore.\n",
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 1024
          },
          "status": {
            "description": "The status of this hyperscale instance.",
            "type": "string",
            "enum": [
              "CREATED",
              "DELETING"
            ],
            "nullable": true,
            "readOnly": true
          },
          "connection_status": {
            "description": "The status of the connection to the hyperscale instance.",
            "type": "string",
            "enum": [
              "ONLINE",
              "CONNECTION_ERROR",
              "BAD_CREDENTIALS"
            ],
            "nullable": true,
            "readOnly": true
          },
          "connection_status_details": {
            "description": "If set, details about the status of the connection to the hyperscale instance.",
            "type": "string",
            "readOnly": true
          }
        }
      },
      "HyperscaleDataTypeEnum": {
        "type": "string",
        "description": "The data type designation for the hyperscale deployment.",
        "enum": [
          "ORACLE",
          "MSSQL",
          "DELIMITED_FILES",
          "MONGO_DB"
        ],
        "example": "ORACLE"
      },
      "HyperscaleInstanceUpdateParams": {
        "title": "HyperscaleInstanceUpdateParams",
        "type": "object",
        "description": "Parameters to update a Hyperscale instances.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name in DCT of the Hyperscale instance.",
            "minLength": 1,
            "maxLength": 256
          },
          "hostname": {
            "type": "string",
            "description": "Hostname of the Hyperscale instance.",
            "minLength": 1,
            "maxLength": 256
          },
          "api_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "API key to connect to the Hyperscale instance.",
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 4096
          },
          "data_type": {
            "$ref": "#/components/schemas/HyperscaleDataTypeEnum"
          },
          "insecure_ssl": {
            "description": "Allow connections to the hyperscale instance over HTTPs without validating the TLS certificate. Even though\nthe connection to the hyperscale instance might be performed over HTTPs, setting this property eliminates\nthe protection against a man-in-the-middle attach for connections to this engine. Instead,\nconsider creating a truststore with a Certificate Authority to validate the hyperscale instance's certificate,\nand set the truststore_filename property.\n",
            "type": "boolean"
          },
          "unsafe_ssl_hostname_check": {
            "description": "Ignore validation of the name associated to the TLS certificate when connecting to the hyperscale instance over HTTPs.\nSetting this value must only be done if the TLS certificate of the hyperscale instance does not match the hostname,\nand the TLS configuration of the hyperscale instance cannot be fixed. Setting this property reduces the protection\nagainst a man-in-the-middle attack for connections to this engine.\nThis is ignored if insecure_ssl is set.\n",
            "type": "boolean"
          },
          "truststore_filename": {
            "description": "File name of a truststore which can be used to validate the TLS certificate of the hyperscale instance. The truststore\nmust be available at /etc/config/certs/<truststore_filename>.\nSet this property to an empty string to clear the value.\n",
            "type": "string",
            "nullable": true,
            "maxLength": 1024,
            "pattern": "^[a-zA-Z0-9_\\.]*$"
          },
          "truststore_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "Password to read the truststore. Set this property to an empty string to clear the value.\n",
            "type": "string",
            "nullable": true,
            "maxLength": 1024
          }
        }
      },
      "HyperscaleInstanceRegistrationParameter": {
        "title": "HyperscaleInstanceRegistrationParameter",
        "type": "object",
        "description": "Parameters to register and authenticate a Hyperscale instance",
        "required": [
          "name",
          "hostname",
          "api_key",
          "data_type"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name in DCT of the Hyperscale instance.",
            "minLength": 1,
            "maxLength": 256
          },
          "hostname": {
            "type": "string",
            "description": "Hostname of the Hyperscale instance.",
            "minLength": 1,
            "maxLength": 256
          },
          "api_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "API key to connect to the Hyperscale instance.",
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 4096
          },
          "data_type": {
            "$ref": "#/components/schemas/HyperscaleDataTypeEnum"
          },
          "insecure_ssl": {
            "description": "Allow connections to the hyperscale instance over HTTPs without validating the TLS certificate. Even though\nthe connection to the hyperscale instance might be performed over HTTPs, setting this property eliminates\nthe protection against a man-in-the-middle attach for connections to this engine. Instead,\nconsider creating a truststore with a Certificate Authority to validate the hyperscale instance's certificate,\nand set the truststore_filename property.\n",
            "type": "boolean",
            "default": false
          },
          "unsafe_ssl_hostname_check": {
            "description": "Ignore validation of the name associated to the TLS certificate when connecting to the hyperscale instance over HTTPs.\nSetting this value must only be done if the TLS certificate of the hyperscale instance does not match the hostname,\nand the TLS configuration of the hyperscale instance cannot be fixed. Setting this property reduces the protection\nagainst a man-in-the-middle attack for connections to this engine.\nThis is ignored if insecure_ssl is set.\n",
            "type": "boolean",
            "default": false
          },
          "truststore_filename": {
            "description": "File name of a truststore which can be used to validate the TLS certificate of the hyperscale instance. The truststore\nmust be available at /etc/config/certs/<truststore_filename>\n",
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 1024,
            "pattern": "^[a-zA-Z0-9_\\.]+$"
          },
          "truststore_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "Password to read the truststore.\n",
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 1024
          },
          "tags": {
            "description": "The tags to be created for this engine.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this Hyperscale instance must be configured as owner of it."
          }
        }
      },
      "PaginatedResponseMetadata": {
        "type": "object",
        "properties": {
          "prev_cursor": {
            "description": "Pointer to the previous page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page.",
            "type": "string"
          },
          "next_cursor": {
            "description": "Pointer to the next page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page.",
            "type": "string"
          },
          "total": {
            "description": "The total number of results. This value may not be provided.",
            "type": "integer",
            "format": "int_64"
          }
        }
      },
      "ConnectorTestResponse": {
        "title": "ConnectorTestResponse",
        "type": "object",
        "description": "The result of the masking connector test.",
        "required": [
          "status",
          "message"
        ],
        "properties": {
          "status": {
            "description": "Connection status, SUCCEEDED or FAILED",
            "type": "string",
            "enum": [
              "SUCCEEDED",
              "FAILED"
            ],
            "example": "SUCCEEDED"
          },
          "message": {
            "description": "A message describing the result of the masking connector test.",
            "type": "string",
            "example": "Connection Succeeded"
          }
        }
      },
      "TagsRequest": {
        "type": "object",
        "required": [
          "tags"
        ],
        "properties": {
          "tags": {
            "description": "Array of tags with key value pairs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "minItems": 1,
            "maxItems": 1000,
            "uniqueItems": true
          }
        }
      },
      "TagsResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "description": "Array of tags with key value pairs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "DeleteTag": {
        "type": "object",
        "properties": {
          "key": {
            "description": "Key of the tag",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "example": "key-1"
          },
          "value": {
            "description": "Value of the tag",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "example": "value-1"
          },
          "tags": {
            "description": "List of tags to be deleted",
            "type": "array",
            "minItems": 1,
            "maxItems": 1000,
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "Tag": {
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "properties": {
          "key": {
            "description": "Key of the tag",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "example": "key-1"
          },
          "value": {
            "description": "Value of the tag",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "example": "value-1"
          }
        }
      },
      "EngineGlobalObjectStateData": {
        "properties": {
          "engine_id": {
            "description": "The entity ID of the engine.",
            "type": "string",
            "example": "4ed2357d-f1a7-410c-b951-90f0edc1a0f6"
          },
          "engine_name": {
            "description": "The name of the engine.",
            "type": "string",
            "example": "My favorite engine"
          },
          "jobs_count": {
            "description": "The number of masking jobs present on the engine.",
            "type": "integer",
            "format": "int32",
            "example": 10
          },
          "connectors_count": {
            "description": "The number of connectors present on the engine.",
            "type": "integer",
            "format": "int32",
            "example": 25
          },
          "rulesets_count": {
            "description": "The number of rulesets present on the engine.",
            "type": "integer",
            "format": "int32",
            "example": 25
          },
          "global_object_revision_hash": {
            "description": "The revisionHash of the GLOBAL_OBJECT.",
            "type": "string",
            "example": "dfb515e3d9727eebf499cb252b417efc926bad0b"
          }
        }
      },
      "DataRiskData": {
        "properties": {
          "connector_id": {
            "description": "The DCT id of the connector. This is an opaque string.",
            "type": "string",
            "example": "1-DATABASE-15"
          },
          "engine_connector_id": {
            "description": "The ID of the connector as found on the compliance engine.",
            "type": "integer",
            "example": "15"
          },
          "connector_name": {
            "description": "Name of the connector.",
            "type": "string",
            "example": "Dev Database"
          },
          "connector_type": {
            "description": "Type of the connector.",
            "type": "string",
            "enum": [
              "DATABASE",
              "FILE",
              "MAINFRAME_DATASET"
            ],
            "example": "DATABASE"
          },
          "last_profiled_date": {
            "description": "Date this connector was last profiled.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "last_masked_date": {
            "description": "Date this connector last had a masking job run.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "engine_id": {
            "description": "The entity ID of the masking engine.",
            "type": "string",
            "example": "4ed2357d-f1a7-410c-b951-90f0edc1a0f6"
          },
          "engine_name": {
            "description": "The name of the masking engine.",
            "type": "string",
            "example": "Development Engine"
          },
          "is_profiled": {
            "description": "If this connector has been profiled.",
            "type": "boolean",
            "example": true
          },
          "is_sensitive_data": {
            "description": "If this connector has sensitive data.",
            "type": "boolean",
            "example": true
          },
          "is_masked": {
            "description": "If this connector has had a successful masking job run.",
            "type": "boolean",
            "example": false
          },
          "is_at_risk": {
            "description": "If this connector has sensitive data that have not been masked.",
            "type": "boolean",
            "example": true
          },
          "data_elements_total": {
            "description": "The total number of data elements of this connector.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "data_elements_not_sensitive": {
            "description": "The number of data elements categorized as not sensitive.",
            "type": "integer",
            "format": "int64",
            "example": 400
          },
          "data_elements_sensitive_masked": {
            "description": "The number of sensitive data elements that have been masked.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "data_elements_sensitive_unmasked": {
            "description": "The number of sensitive data elements that have not been masked.",
            "type": "integer",
            "format": "int64",
            "example": 100
          },
          "records_total": {
            "description": "The total number of records from this connector.",
            "type": "integer",
            "format": "int64",
            "example": 10000
          },
          "records_not_sensitive": {
            "description": "The number of records found to be not sensitive.",
            "type": "integer",
            "format": "int64",
            "example": 4000
          },
          "records_sensitive_masked": {
            "description": "The number of records found to be sensitive and have been masked.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "records_sensitive_unmasked": {
            "description": "The number of records found to be sensitive and have not been masked.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "tags": {
            "description": "The tags of the connector.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "SearchBody": {
        "description": "Search body.",
        "type": "object",
        "properties": {
          "filter_expression": {
            "type": "string",
            "minLength": 5,
            "maxLength": 2000,
            "example": "string_field CONTAINS \"over\" AND numberic_field GT 9000 OR string_field2 EQ \"Goku\""
          }
        }
      },
      "EngineIdBody": {
        "description": "The ID of the registered engine.",
        "type": "object",
        "properties": {
          "engine_id": {
            "type": "string",
            "minLength": 1,
            "example": "1"
          }
        }
      },
      "SyncEnginesHyperscaleParameters": {
        "type": "object",
        "description": "Parameters to sync the global object from a source engine to a list of target engines registered with a Hyperscale Instance.",
        "required": [
          "source_engine_id",
          "target_engine_ids"
        ],
        "properties": {
          "source_engine_id": {
            "type": "string",
            "description": "The ID of the engine to copy the data from.",
            "minLength": 1,
            "maxLength": 256,
            "example": "1"
          },
          "target_engine_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "minItems": 1,
            "description": "The IDs of the target engines to copy the data into.",
            "example": [
              "1",
              "2"
            ]
          }
        }
      },
      "CopyMaskingJobParameters": {
        "type": "object",
        "description": "Parameters to copy a masking job.",
        "required": [
          "target_engine_id"
        ],
        "properties": {
          "target_engine_id": {
            "type": "string",
            "description": "The ID of the engine to copy the job to.",
            "minLength": 1,
            "maxLength": 256,
            "example": "1"
          },
          "source_environment_id": {
            "type": "string",
            "description": "The ID or name of the source environment on the target engine. This only applies to On-The-Fly jobs.",
            "minLength": 1,
            "maxLength": 256,
            "example": "test-on-the-fly-mask1"
          },
          "target_environment_id": {
            "type": "string",
            "description": "The ID or name of the target environment on the target engine to copy the job into.",
            "minLength": 1,
            "maxLength": 256,
            "example": "prod-in-place-mask1"
          },
          "force_overwrite": {
            "type": "boolean",
            "default": false,
            "description": "Whether to overwrite objects that already exist on the target engine."
          }
        }
      },
      "MigrateMaskingJobParameters": {
        "type": "object",
        "description": "Parameters to migrate a masking job.",
        "required": [
          "target_engine_id"
        ],
        "properties": {
          "target_engine_id": {
            "type": "string",
            "description": "The ID of the engine to migrate the job to.",
            "minLength": 1,
            "maxLength": 256,
            "example": "1"
          },
          "source_environment_id": {
            "type": "string",
            "description": "The ID or name of the source environment on the target engine. This only applies to On-The-Fly jobs.",
            "minLength": 1,
            "maxLength": 256,
            "example": "test-on-the-fly-mask1"
          },
          "target_environment_id": {
            "type": "string",
            "description": "The ID or name of the target environment on the target engine to migrate the job into.",
            "minLength": 1,
            "maxLength": 256,
            "example": "prod-in-place-mask1"
          },
          "force_overwrite": {
            "type": "boolean",
            "default": false,
            "description": "Whether to overwrite objects that already exist on the target engine."
          }
        }
      },
      "RemoveMaskingJobParameters": {
        "type": "object",
        "description": "Parameters to remove a masking job from a masking job set.",
        "required": [
          "engine_id"
        ],
        "properties": {
          "engine_id": {
            "type": "string",
            "description": "The ID of the engine to remove the masking job from.",
            "minLength": 1,
            "maxLength": 256,
            "example": "1"
          }
        }
      },
      "DatabaseTableMetadata": {
        "description": "An object describe a database table of a rule set with some settings.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The id of this table metadata.",
            "type": "integer",
            "format": "int64",
            "example": 10
          },
          "table_name": {
            "description": "The name of the table.",
            "type": "string",
            "example": "my table"
          },
          "rule_set_id": {
            "description": "The id of the rule set that this table metadata belongs to.",
            "type": "string",
            "example": "4ed2357d-f1a7-410c-b951-90f0edc1a0f6"
          },
          "rule_set_name": {
            "description": "The name of the rule set that this table metadata belongs to.",
            "type": "string",
            "example": "my rule set"
          },
          "custom_sql": {
            "description": "Custom SQL for the table.",
            "type": "string"
          },
          "where_clause": {
            "description": "SQL where clause for the table.",
            "type": "string"
          },
          "having_clause": {
            "description": "SQL having clause for the table.",
            "type": "string"
          },
          "key_column": {
            "description": "Key Column for the table.",
            "type": "string"
          },
          "is_sensitive": {
            "description": "This field indicates whether or not a table has sensitive data. This field is assigned by DCT to true or false based on whether the table is assigned an algorithm and domain.",
            "type": "boolean"
          },
          "row_count": {
            "type": "integer",
            "format": "int64"
          },
          "last_refresh_time": {
            "type": "string",
            "format": "date-time"
          },
          "last_row_count_time": {
            "type": "string",
            "format": "date-time"
          },
          "engine_id": {
            "type": "string",
            "description": "The id of the engine associated with this column.",
            "example": "5ff0dab4-368c-4d57-8b61-9a09b6e80f42"
          },
          "engine_name": {
            "type": "string",
            "description": "The name of the engine associated with this column.",
            "example": "my engine"
          }
        }
      },
      "DatabaseColumnMetadata": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The id of this column metadata.",
            "format": "int64",
            "example": 10
          },
          "column_name": {
            "type": "string",
            "description": "The name of the column.",
            "example": "my_column"
          },
          "database_table_metadata_id": {
            "type": "integer",
            "description": "The id of the database table metadata that this column belongs to.",
            "format": "int64",
            "example": 30
          },
          "table_name": {
            "type": "string",
            "description": "The name of the table that this column belongs to.",
            "example": "profile"
          },
          "rule_set_id": {
            "type": "string",
            "description": "The id of the rule set that this column metadata belongs to.",
            "example": "4ed2357d-f1a7-410c-b951-90f0edc1a0f6"
          },
          "rule_set_name": {
            "description": "The name of the rule set that this table metadata belongs to.",
            "type": "string",
            "example": "my rule set"
          },
          "engine_id": {
            "type": "string",
            "description": "The id of the engine associated with this column.",
            "example": "5ff0dab4-368c-4d57-8b61-9a09b6e80f42"
          },
          "engine_name": {
            "type": "string",
            "description": "The name of the engine associated with this column.",
            "example": "my engine"
          },
          "algorithm_id": {
            "type": "string",
            "description": "The id of the algorithm associated with this column.",
            "example": "7a1b2c3d-e4f5-4a6b-8c7d-9e0f1a2b3c4d"
          },
          "algorithm_name": {
            "type": "string",
            "description": "The name of the algorithm associated with this column.",
            "example": "My Secure Lookup"
          },
          "data_class_id": {
            "type": "string",
            "description": "The id of the data class associated with this column.",
            "example": "6b5c4d3e-2a1b-4c3d-5e6f-7a8b9c0d1e2f"
          },
          "data_class_name": {
            "type": "string",
            "description": "The name of the data class associated with this column.",
            "example": "My Domain"
          },
          "data_type": {
            "type": "string",
            "description": "The data type of the column.",
            "example": "VARCHAR"
          },
          "date_format": {
            "type": "string",
            "description": "The format of the date stored in the column.",
            "example": "YYYY-MM-DD"
          },
          "column_length": {
            "type": "integer",
            "description": "The length of the column.",
            "format": "int32",
            "example": 255
          },
          "is_sensitive": {
            "type": "boolean",
            "description": "This field indicates whether or not a column has sensitive data."
          },
          "is_profiler_writable": {
            "type": "boolean",
            "description": "Indicates whether this column is writable by the profiler."
          },
          "is_primary_key": {
            "type": "boolean",
            "description": "Indicates whether this column is a primary key."
          },
          "is_identity": {
            "type": "boolean",
            "description": "Indicates whether this column is an identity column."
          },
          "is_index": {
            "type": "boolean",
            "description": "Indicates whether this column is indexed."
          },
          "is_foreign_key": {
            "type": "boolean",
            "description": "Indicates whether this column is a foreign key."
          }
        },
        "description": "An object describing a database column metadata with some settings."
      },
      "DiscoveryExpression": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the discovery expression.",
            "example": "5ff0dab4-368c-4d57-8b61-9a09b6e80f42"
          },
          "name": {
            "type": "string",
            "description": "The name of the discovery expression.",
            "example": "my expression"
          },
          "regular_expression": {
            "type": "string",
            "description": "The regular expression that will be used to match against column/field names or data values during the execution of a discovery job. Only applicable for SEARCH expressions.",
            "example": ".*"
          },
          "data_level_profiling": {
            "type": "boolean",
            "description": "This field determines whether the discovery expression will be targeted at the underlying data in a data source (e.g. row values in the database column / field values in the file), or whether the discovery expression will be targeted at the schema of the data source (e.g. column names in a database table or field names in a file). Data-Level profiling consumes more memory than Column-Name-Level/Field-Name-Level profiling due to the fact that the discovery expression must be checked against a larger number of data values (e.g. hundreds) than column/field names (i.e. one). Only applicable for SEARCH expressions.",
            "example": true
          },
          "min_data_length": {
            "type": "integer",
            "description": "Minimum length of the value for string types. Only applicable for TYPE expressions.",
            "example": 1
          },
          "engine_id": {
            "type": "string",
            "description": "The id of the engine associated with this discovery expression.",
            "example": "5ff0dab4-368c-4d57-8b61-9a09b6e80f42"
          },
          "engine_name": {
            "type": "string",
            "description": "The name of the engine associated with this discovery expression.",
            "example": "my engine"
          },
          "data_class_id": {
            "type": "string",
            "description": "The id of the data class associated with this discovery expression.",
            "example": "6b5c4d3e-2a1b-4c3d-5e6f-7a8b9c0d1e2f"
          },
          "data_class_name": {
            "type": "string",
            "description": "The name of the data class associated with this discovery expression.",
            "example": "My Domain"
          },
          "data_type": {
            "type": "string",
            "enum": [
              "String",
              "Number",
              "Date",
              "Binary"
            ],
            "description": "Data type to apply a constraint to. Only applicable for TYPE expressions.",
            "example": "String"
          },
          "expression_type": {
            "type": "string",
            "enum": [
              "SEARCH",
              "TYPE"
            ],
            "description": "The type of the discovery expression.",
            "example": "SEARCH"
          },
          "level": {
            "type": "string",
            "enum": [
              "DATA",
              "COLUMN",
              "TYPE"
            ],
            "description": "The level of data sources this discovery expression will be targeted.",
            "example": "DATA"
          },
          "tags": {
            "description": "The tags of this discovery expression.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "ComplianceJob": {
        "description": "A masking job.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Masking Job entity ID.",
            "type": "string",
            "readOnly": true,
            "example": "masking-job-1"
          },
          "name": {
            "description": "The name of this Masking Job.",
            "type": "string",
            "example": "My favorite MaskingJob"
          },
          "rule_set_id": {
            "description": "The ID of the Rule Set used by this Masking Job (Standard Job only). For hyperscale jobs, see dataset_id.",
            "type": "string",
            "example": "uuid"
          },
          "rule_set_name": {
            "description": "The name of the Rule Set used by this Masking Job (Standard Job only). For hyperscale jobs, see dataset_id.",
            "type": "string",
            "example": "my rule set"
          },
          "connector_type": {
            "type": "string",
            "description": "The type of data being masked by this Job. If the Masking Job is masking a database this is the type of the database (Standard Job only).",
            "example": "MARIADB"
          },
          "is_on_the_fly_masking": {
            "description": "Whether this is an on-the-fly masking job (Standard Job only).",
            "type": "boolean",
            "example": true
          },
          "creation_date": {
            "description": "The date this MaskingJob was created (Standard Job only).",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "last_completed_execution_date": {
            "description": "The date this ComplianceJob was last executed to completion.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T09:51:34.148000+00:00"
          },
          "last_execution_status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "last_execution_id": {
            "description": "The ID of this ComplianceJob's last execution.",
            "type": "string",
            "example": "00e38996-7da2-4827-8f3e-0503234de537"
          },
          "last_execution_start_time": {
            "description": "The start time of the most recent execution of this compliance job.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T09:51:34.148000+00:00"
          },
          "last_execution_run_time": {
            "description": "The run time of the most recent execution of this compliance job in ms.",
            "type": "integer",
            "format": "int64",
            "example": 31000
          },
          "connector_username": {
            "type": "string",
            "description": "The username of the Connector used by the ComplianceJob (Standard Job only). For hyperscale jobs, see the connector of the dataset.",
            "nullable": true,
            "example": "user123"
          },
          "connector_password": {
            "x-dct-toolkit-credential-field": true,
            "type": "string",
            "description": "The password of the Connector used by the ComplianceJob (Standard Job only). For hyperscale jobs, see the connector of the dataset.",
            "nullable": true,
            "example": "*****"
          },
          "on_the_fly_source_connector_id": {
            "type": "string",
            "description": "The id of the OTF source connector for this job",
            "nullable": true
          },
          "on_the_fly_source_connector_name": {
            "type": "string",
            "description": "The name of the OTF source connector for this job",
            "nullable": true
          },
          "on_the_fly_source_connector_type": {
            "type": "string",
            "description": "The type of the OTF source connector for this job",
            "nullable": true
          },
          "on_the_fly_source_connector_username": {
            "type": "string",
            "description": "The username of the source Connector used by the on-the-fly job (Standard Job only).",
            "nullable": true,
            "example": "user123"
          },
          "on_the_fly_source_connector_password": {
            "x-dct-toolkit-credential-field": true,
            "type": "string",
            "description": "The password of the source Connector used by the on-the-fly job (Standard Job only).",
            "nullable": true,
            "example": "*****"
          },
          "type": {
            "type": "string",
            "description": "The type of compliance job.",
            "enum": [
              "MASKING",
              "DISCOVERY",
              "TOKENIZATION",
              "REIDENTIFICATION"
            ],
            "example": "MASKING"
          },
          "execution_type": {
            "type": "string",
            "description": "The execution type of this Job.",
            "enum": [
              "STANDARD",
              "HYPERSCALE"
            ],
            "example": "STANDARD"
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this job (Hyperscale Job only).",
            "type": "string",
            "example": "abc"
          },
          "description": {
            "description": "Description of the job (Hyperscale Job only).",
            "type": "string",
            "example": "Job for app finance"
          },
          "dataset_id": {
            "description": "Dataset of the Hyperscale Job (Hyperscale Job only).",
            "type": "string",
            "example": "dataset-123"
          },
          "retain_execution_data": {
            "description": "Defines whether execution data will be stored after execution is complete (Hyperscale Job only).",
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "example": false
          },
          "max_memory": {
            "description": "Maximum memory to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "min_memory": {
            "description": "Minimum memory to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "feedback_size": {
            "description": "Feedback Size for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "stream_row_limit": {
            "description": "Stream Row Limit for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "num_input_streams": {
            "description": "Number of input streams to be configured for Masking Job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "max_concurrent_source_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "max_concurrent_target_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "parallelism_degree": {
            "description": "The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "source_masking_job_id": {
            "description": "The ID of the MaskingJob that was used as the source to create this job (Hyperscale Job only).",
            "type": "string",
            "example": "masking-job-0"
          },
          "engine_id": {
            "description": "The engine on which this job resides (Standard Job only).",
            "type": "string",
            "example": 1
          },
          "engine_name": {
            "description": "The name of the engine on which this job resides (Standard Job only).",
            "type": "string",
            "example": "masking-engine-1"
          },
          "engine_ids": {
            "description": "List of engines that this job can run on (Hyperscale Job only).",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "discovery_policy_id": {
            "description": "The id of the discovery policy in use - applicable for discovery jobs only.",
            "nullable": true,
            "type": "string"
          },
          "discovery_policy_name": {
            "description": "The name of the discovery policy in use - applicable for discovery jobs only.",
            "nullable": true,
            "type": "string",
            "example": "ASDD Standard"
          },
          "environment_name": {
            "description": "The name of the environment in which this job resides on the compliance engine.",
            "type": "string",
            "example": "B2B Staging"
          },
          "application_name": {
            "description": "The name of the application associated with the environment in which this job resides on the compliance engine.",
            "type": "string",
            "example": "Custom B2B Solution"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "discoveryResult": {
        "description": "The result of sensitive data discovery on a single column or field",
        "type": "object",
        "properties": {
          "id": {
            "description": "The DCT local id of this discovery result",
            "type": "integer",
            "format": "int64",
            "example": 1
          },
          "tableName": {
            "description": "The name of the table to which the column belongs",
            "type": "string",
            "example": "cust_address"
          },
          "fileName": {
            "description": "The name of the file to which the discovery result applies",
            "type": "string",
            "example": "report.json"
          },
          "columnName": {
            "description": "The name the column to which the discovery result applies",
            "type": "string",
            "example": "ADDR_LINE_1"
          },
          "fieldName": {
            "description": "The name the field to which the discovery result applies",
            "type": "string",
            "example": "customer name"
          },
          "dataClassName": {
            "description": "The data class selected for the column or field",
            "type": "string",
            "example": "FIRST_NAME"
          },
          "algorithmName": {
            "description": "The name of the algorithm selected for the column or field",
            "type": "string",
            "example": "FIRST_NAME_SL"
          },
          "dataType": {
            "description": "The data type determined for the column or field",
            "type": "string",
            "example": "varchar"
          },
          "confidence": {
            "description": "The confidence of the discovery result, ranging from -100 to 100",
            "type": "integer",
            "format": "int32",
            "example": 85
          },
          "isProfilerWritable": {
            "description": "Whether the corresponding ruleset column or field was configured to allow the discovery process to update the masking assignment",
            "type": "boolean"
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization"
      }
    },
    "requestBodies": {
      "DeleteTags": {
        "description": "The parameters to delete tags",
        "content": {
          "application/json": {
            "schema": {
              "x-body-name": "environment",
              "$ref": "#/components/schemas/DeleteTag"
            },
            "examples": {
              "delete_all_tags": {
                "description": "Delete all tags for given object - No request body required",
                "summary": "Delete all tags",
                "value": {}
              },
              "delete_tags_by_key": {
                "description": "Delete all tags for given object with matching key",
                "summary": "Delete tags by key",
                "value": {
                  "key": "key-1"
                }
              },
              "delete_tags_by_key_value": {
                "description": "Delete tag for given object with matching key and value",
                "summary": "Delete a tag by key & value",
                "value": {
                  "key": "key-1",
                  "value": "value-1"
                }
              },
              "delete_multiple_tags_by_key_value": {
                "description": "Delete tags for given list of tags with matching key and value",
                "summary": "Delete multiple tags by key & value",
                "value": {
                  "tags": [
                    {
                      "key": "key-1",
                      "value": "value-1"
                    },
                    {
                      "key": "key-2",
                      "value": "value-2"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "SearchBody": {
        "x-skip-codegen-attr": "description",
        "description": "A request body containing a filter expression. This enables searching\nfor items matching arbitrarily complex conditions. The list of\nattributes which can be used in filter expressions is available\nin the x-filterable vendor extension.\n\n# Filter Expression Overview\n**Note: All keywords are case-insensitive**\n\n## Comparison Operators\n| Operator | Description | Example |\n| --- | --- | --- |\n| CONTAINS | Substring or membership testing for string and list attributes respectively. | field3 CONTAINS 'foobar', field4 CONTAINS TRUE  |\n| IN | Tests if field is a member of a list literal. List can contain a maximum of 100 values | field2 IN ['Goku', 'Vegeta'] |\n| GE | Tests if a field is greater than or equal to a literal value | field1 GE 1.2e-2 |\n| GT | Tests if a field is greater than a literal value | field1 GT 1.2e-2 |\n| LE | Tests if a field is less than or equal to a literal value | field1 LE 9000 |\n| LT | Tests if a field is less than a literal value | field1 LT 9.02 |\n| NE | Tests if a field is not equal to a literal value | field1 NE 42 |\n| EQ | Tests if a field is equal to a literal value | field1 EQ 42 |\n\n## Search Operator\nThe SEARCH operator filters for items which have any filterable\nattribute that contains the input string as a substring, comparison\nis done case-insensitively. This is not restricted to attributes with\nstring values. Specifically `SEARCH '12'` would match an item with an\nattribute with an integer value of `123`.\n\n## Logical Operators\nOrdered by precedence.\n| Operator | Description | Example |\n| --- | --- | --- |\n| NOT | Logical NOT (Right associative) | NOT field1 LE 9000 |\n| AND | Logical AND (Left Associative) | field1 GT 9000 AND field2 EQ 'Goku' |\n| OR | Logical OR (Left Associative) | field1 GT 9000 OR field2 EQ 'Goku' |\n\n## Grouping\nParenthesis `()` can be used to override operator precedence.\n\nFor example:\nNOT (field1 LT 1234 AND field2 CONTAINS 'foo')\n\n## Literal Values\n| Literal      | Description | Examples |\n| --- | --- | --- |\n| Nil | Represents the absence of a value | nil, Nil, nIl, NIL |\n| Boolean | true/false boolean | true, false, True, False, TRUE, FALSE |\n| Number | Signed integer and floating point numbers. Also supports scientific notation. | 0, 1, -1, 1.2, 0.35, 1.2e-2, -1.2e+2 |\n| String | Single or double quoted | \"foo\", \"bar\", \"foo bar\", 'foo', 'bar', 'foo bar' |\n| Datetime | Formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) | 2018-04-27T18:39:26.397237+00:00 |\n| List | Comma-separated literals wrapped in square brackets | [0], [0, 1], ['foo', \"bar\"] |\n\n## Limitations\n- A maximum of 8 unique identifiers may be used inside a filter expression.\n",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SearchBody"
            },
            "examples": {
              "nested": {
                "description": "An example of a nested Object comparison testing that at least one repository has a\nversion which is equal to 19.0.0.\n",
                "summary": "Nested Object Comparison",
                "value": {
                  "filter_expression": "repositories CONTAINS {version eq '19.0.0'}"
                }
              },
              "relative": {
                "description": "An example of a relative comparison testing that field1 has a\nvalue which is less than 123.\n",
                "summary": "Relative comparison",
                "value": {
                  "filter_expression": "field1 LE 123"
                }
              },
              "nil": {
                "description": "An example of using nil to test for the absence of a value for field2.\n",
                "summary": "Absence of an attribute value",
                "value": {
                  "filter_expression": "field2 EQ NIL"
                }
              },
              "non-nil": {
                "description": "An example of using nil to test for the existence of a value for field2.\n",
                "summary": "Existence of an attribute value",
                "value": {
                  "filter_expression": "field2 NE NIL"
                }
              },
              "contains": {
                "description": "An example of using the 'CONTAINS' operator to check if\nfield2 contains the string 'foo'. If field2 is string valued\nthen this is checking if 'foo' is a substring of field2. If\nfield2 is a list of strings then this is checking if 'foo'\nis a member of the list.\n",
                "summary": "Use of the CONTAINS operator",
                "value": {
                  "filter_expression": "field2 CONTAINS 'foo'"
                }
              },
              "in": {
                "description": "An example of using the 'IN' operator to check if field1\nis an element of a list literal.\n",
                "summary": "Use of the IN operator",
                "value": {
                  "filter_expression": "field1 IN [1, 2, 3]"
                }
              },
              "search": {
                "description": "An example of using the 'SEARCH' operator to retrieve all elements\nfor which 'foo' is a substring of a filterable attribute.\n",
                "summary": "Use of the SEARCH operator",
                "value": {
                  "filter_expression": "SEARCH 'foo'"
                }
              },
              "parenthesis": {
                "description": "An example of parenthesis being used to group operators & override\noperator precedence.\n",
                "summary": "Overriding operator precedence",
                "value": {
                  "filter_expression": "field1 LT 1234 AND (field2 CONTAINS 'foo' OR field3 CONTAINS 'bar')"
                }
              }
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ]
}